استبدال جزء من نص معين بواسطه اكواد بي اتش بي
السلام عليكم ورحمه الله وبركاته
اريد شرح لاستبدال جزء معين من نص طويل او مقاله بمعني سأوضح بوضع كود مثال فقط <?php $text = "المقاله هنا المقاله هنا المقاله هنا المقاله هنا ومشاهده فيديو باخرها وليكن www.youtube.com/watch?v=-MasxktXtPM"; ?> الان قمنا بجلب مقاله في متغير تكست وبها لينك يوتيوب اريد تحويل رابط اليوتيوب الي مربع المشاهده embed ويبقي باقي المقال كما هو فقط يستبدل رابط اليوتيوب بمربع المشاهده مثال حي وهو الفيس بوك عند وضع رابط بفيديو يقراءه تلقائيا او اي رابط اخر هذا مااريده ولكن يفضل ان يكون بدون اجاكس او جيكوري فقط بي اتش بي
3 إجابات
أقترح عليك تعمل طريقة بسيطة و حلوة
كود اليوتيوب تضعه في المقالات هكذا [yt id="كود الفيديو" ]ثم ستقوم الدالة التالية بتحويله الى فيديو عند عرض المقال function YouTube($atts) { extract(shortcode_atts(array("id" => ''), $atts)); return '<iframe width="540" height="385" src="http://www.youtube.com/embed/'.$id.'" frameborder="0" allowfullscreen></iframe>'; } add_shortcode("yt", "YouTube"); ?> بواسطة: Imad 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
هذه فورمه موقع vimeo
/http:\/\/(www\.)?vimeo.com\/(\d+)($|\/الرابط المراد قرائه هو : http://vimeo.com/34608191 ولكن كود الفيديو يكون <iframe src="http://player.vimeo.com/video/34608191?title=0&byline=0&portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe><p><a href="http://vimeo.com/34608191">PressPausePlay</a> from <a href="http://vimeo.com/houseofradon">House of Radon</a> on <a href="http://vimeo.com">Vimeo</a>.</p> رابط الفيديو بيكون http://player.vimeo.com/video/34608191 كيف هيتم وضع الرابط صحيح بالكود لان عند وضعه بيظهر بدون الصب دومين فمابيطلع شئ فالصفحه بواسطة: Wolvrine تعديل: Wolvrine 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا فشلت بعد اكثر من 30 محاولة ، اتمنى ان يساعدوك الاخوة على حسب الدالة التي وضعت لك لعرض فيديو فيمو استعمل الآتي [vm id="كود الفيديو" ] و عدل على الدالة من يوتيوب الى فيمو
هذا هو ما تريد بالتفصيل ، اولا نستخدم المعايير القياسية للاستبدال وهى
'%http://(?:\S+\.swf\b|\S+?youtube\S+)%'وبعد ذلك نستبدل المتغير بدالة preg_replace_callback كالتالى $text = "المقاله هنا المقاله هنا المقاله هنا المقاله هنا ومشاهده فيديو باخرها وليكن http://www.youtube.com/v/gFhSMMd6YvQ"; echo preg_replace_callback('%http://(?:\S+\.swf\b|\S+?youtube\S+)%', "youtube_eembed" , $text); function youtube_eembed($matches){ print "<object style='height: 390px; width: 640px'>"; print "<param name='movie' value='{$matches[0]}'>"; print "<param name='allowFullScreen' value='true'>"; print "<param name='allowScriptAccess' value='always'>"; print "<embed src='{$matches[0]}' type='application/x-shockwave-flash' allowfullscreen='true' allowScriptAccess='always' width='640' height='360'>"; print "</object>"; } بواسطة: molhm 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا مشكور اخي رائع ولكن نفترض اني المقاله بها موقع اخر خاص بالفيديوه مثل على حسب الفورمة ، ما هى فورمت كل واحد منهم؟ أقترح تعمل بالحل الذي وضعت لك و يمكنك التحكم بالدالة على حسب أي موقع تريد |
الـregex هو '%http://(?:\S+\.swf\b|\S+?youtube\S+)%'
10 / يناير / 2012 الساعة 19:48