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.
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