Леший Ierakstīts Marts 7, 2012 Share Ierakstīts Marts 7, 2012 Sveiki! Vajag uztaisīt embed video. Tiek izmantots ckeditor un plugins, kurā var iemest youtube vai vimeo linku, youtube shortlinku vai youtube embed. Tas, kas ir iemests, tiek ielikts editorā, iekš [media] tega. Problēma ir ar attēlošanu. Pašlaik bbcode parsēšanai tiek izmantots preg_replace: $code = array( "/\[b\](.*?)\[\/b\]/is" => "<strong>$1</strong>", "/\[i\](.*?)\[\/i\]/is" => "<i>$1</i>", "/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1'>$2</a>", "/\[url\](.*?)\[\/url\]/is" => "<a href='$1'>$1</a>", "/\[list\=(.*?)\](.*?)\[\/list\]/is" => "<ol>$2</ol>", "/\[list\](.*?)\[\/list\]/is" => "<ul>$1</ul>", "/\[\*\](.*?)\n/is" => "<li>$1</li>", "/\[media\].*?vimeo\.com\/([0-9]+)\[\/media\]/is" => '<iframe src="http://player.vimeo.com/video/$1" width="415" height="315" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>', "/\[media\].*?youtube\..*v=([^&]+).*?\[\/media\]/is" => '<iframe width="415" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', "/\[media\].*?youtu\.be\/([\w-]{11}).*?\[\/media\]/is" => '<iframe width="415" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', "/\[media\].*?youtube\..*\/embed\/([\w-]{11}).*?\[\/media\]/is" => '<iframe width="415" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', "/\n/" => "<br />", ); return preg_replace(array_keys($code), array_values($code), $text); Un viss ok rādās, ja video ir salikti tādā secībā, kādā ir aprakstīts tajā masīvā, tas ir, ja ielikt sākumā vimeo, pēc tam youtube short, piemēram: [media]http://vimeo.com/37873697[/media] [media]http://youtu.be/8-1F-CokXNU[/media] tad viss ok, bet ja samainīt secību, tad parādās tikai vimeo, bet iepriekšajais video tiek repleisots uz <br /> (masīva pēdējais elements). Kur var būt problēma? P. S. Zinu, ka regexi briesmīgi, bet nav laika tos pārtaisīt. Link to comment Share on other sites More sharing options...
japets Marts 7, 2012 Share Marts 7, 2012 (labots) "/\[media\].*?vimeo\.com\/([0-9]+)\[\/media\]/is" un "[media]http://yo utu.be/8-1F-CokXNU[/media] [media]http://vi meo.com/37873697[/media]" "greediness" stājas spēkā un ".*?" matcho "http://youtu.be/8-1F-CokXNU[/media] [media]http://" 1. noņem "s" no modifieriem. 2. problēma paliks, ja bb kodi būs vienā rindā, tādēļ paspēlējies ar "U" modifier http://lv.php.net/ma...n.modifiers.php neesmu pārliecināts, vai tas ir tas, kas nepieciešams. Ja nepalīdz, izmanto konkrētāku match, piemēram, "(http://)?" edit: $it 4ak te arī bb kods un url atpazīšana enablēta... Labots Marts 7, 2012 - japets 1 Link to comment Share on other sites More sharing options...
Леший Marts 7, 2012 Author Share Marts 7, 2012 (labots) izmanto konkrētāku match, piemēram, "(http://)?" Jā, ieliku "/\[media\]((ht|f)tp(s?):\/\/)?(www\.)?vimeo\.com\/([0-9]+)\[\/media\]/i" un viss čotka strādā Interesanti, ka problēma bija tikai ar vimeo. Labots Marts 7, 2012 - Леший Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!