Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καταρχήν να πω ότι δεν έχω ιδέα από regular expressions, συνεπώς αναζητώ για την ακριβής λύση. :P

Λοιπόν, εδώ και καιρό έχω αυτόν τον php κώδικα που εντοπίζει τα urls των εικόνων που βρίσκονται μέσα σε [ IMG ] [ /IMG] και [ img ] [ /img ] tags.

$image_tags = array('img', 'IMG');
$pagetext = $post['message'];

	foreach($image_tags as $image_tag)
	{
			if(!preg_match_all('/\[' . $image_tag . '.*?\](.*?)\[\/' . $image_tag . '\]/is', $pagetext, $matches))
			{
				continue;
			}
			foreach($matches[1] as $key => $value)
			{
				// το $value είναι το URL της εικόνας, αυτό θέλω!
			}
	}

Ωστόσο τα πράγματα έχουν εξελιχθεί και πλέον τα img tags έχουν και παραμέτρους μέσα.

Πχ:

 [IMG alt="hello GIF"]url[/IMG]
 [IMG width="305px"]url[/IMG]

Πως πρέπει να αλλάξει η regular expression στην preg_match_all για να πάρω το url, όποιο κι αν είναι το extra περιεχόμενο στο tag ανοίγματος [ IMG ] ; :)

Επεξ/σία από philos
Δημοσ. (επεξεργασμένο)
preg_match_all("/\[IMG.*?\](.*?)\[\/IMG\]/i", 'test [img=http://example.com/test] test [IMG width="305px"]url[/IMG] test ', $matches);


var_dump($matches);

 

Επεξ/σία από christoforos123
  • Thanks 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...