Domanda

Devo preg_match per

src="http://      "

dove lo spazio vuoto che segue // è il resto dell'URL che termina con " ;. Il mio adattato non sembra funzionare:

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

E sto anche lottando per ottenere un testo che inizia con > e termina con TUTTO un punto. o un punto esclamativo! o un punto interrogativo? Non ho idea di come farlo. Un esempio del testo per cui voglio preg_match è:

 blahblahblah>Hello world this is what I want.

Spero che un gentile guru preg_match possa dirmi la risposta e risparmiarmi ore di strappi alla testa.

Grazie per aver letto.

È stato utile?

Soluzione

Come per l'URL:

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

e per il secondo caso, utilizzare />(.*?)(\.|!|\?)/

Altri suggerimenti

(. *?) & Quot; abbinerà avidamente qualsiasi personaggio fino al momento in cui vedrà la doppia virgoletta finale

Sembra che tu voglia analizzare un documento o una stringa che segue un HTML, DOM, XML o qualcosa di simile. Usa XPath , analizza il Tag e lascia che restituisca src Attributo , questo risparmierà molti problemi e puoi dimenticare le espressioni regolari.

Esempio: CLICMI

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top