سؤال

وأحتاج إلى preg_match ل

src="http://      "

حيث المساحة الفارغة التالية // هو ما تبقى من رابط تنتهي مع "بلدي تكييفها لا يبدو أن العمل:.

preg_match('#src="(http://[^"]+)#', $data, $match); 

وأنا تكافح أيضا للحصول على النص الذي يبدأ ب> وينتهي إما وقف كامل. أو علامة تعجب! أو علامة استفهام؟ ليس لدي أي فكرة عن كيفية القيام بذلك واحدة. مثال على النص أريد أن preg_match لهو:

 blahblahblah>Hello world this is what I want.

وأنا على أمل المعلم نوع preg_match يمكن ان تقولوا لي الجواب وحفظ لي ساعة من headscratching.

وشكرا للقراءة.

هل كانت مفيدة؟

المحلول

وأما بالنسبة للURL:

preg_match('#src="(.*?)"#', $data, $match);

والحالة الثانية، واستخدام />(.*?)(\.|!|\?)/

نصائح أخرى

و(. *؟) "سوف تطابق أي حرف بشراهة حتى في الوقت الذي يرى اقتباس مزدوجة نهاية

ويبدو أنك تريد أن تحليل وثيقة أو سلسلة الذي يتبع HTML، DOM، XML أو شيء هيكلها مماثل. استخدام XPath، وتحليل لعلامة والسماح لها بالعودة إلى src Attribute، وهذا سيوفر الكثير من المتاعب ويمكنك نسيان التعابير العادية.

وعلى سبيل المثال: اضغط ME

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top