Question

J'ai besoin de preg_match pour

src="http://      "

où l'espace vide suivant // est le reste de l'URL se terminant par le signe ". Mon adapté ne semble pas fonctionner:

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

Et je lutte également pour obtenir un texte commençant par > et se termine soit par un arrêt complet. ou un point d'exclamation! ou un point d'interrogation? Je ne sais pas comment faire celui-ci. Voici un exemple de texte pour lequel je souhaite preg_match:

 blahblahblah>Hello world this is what I want.

J'espère qu'un bon gourou de preg_match pourra me dire la réponse et me sauver des heures de casse-tête.

Merci d'avoir lu.

Était-ce utile?

La solution

En ce qui concerne l'URL:

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

et pour le second cas, utilisez / > (. *?) (\. |! | \?) /

Autres conseils

(. *?) " correspondra à n'importe quel caractère avidement jusqu'au moment où il verra la fin de la citation double

Il semble que vous souhaitiez analyser un document ou une chaîne qui suit une structure HTML, DOM, XML ou une structure similaire. Utilisez XPath , analysez la balise et laissez-la renvoyer l'attribut src , cela épargnera beaucoup de problèmes et vous permettra d'oublier les expressions régulières.

Exemple: CLIQUEZ-MOI

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top