اخي الكريم بالنسبة للدالة التي وضعتها...
هي تقوم بالبحث عن وسوم bb محددة،لاستعمالها مع ال html نستعمل:
كود PHP:
<?php
$input = "plain <div> deep <div> deeper </div> deep </div> plain";
function parseTagsRecursive($input)
{
$regex = '#\<div>((?:[^[]|\[(?!/?div])|(?R))+)\</div>#';
if (is_array($input)) {
$input = '<div style="margin-left: 10px">'.$input[1].'</div>';
}
return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}
$output = parseTagsRecursive($input);
echo $output;
?>
هنا الدالة تبحث عن وسم div ، وما عداه يتم طباعته كأي مخرج آخر.
يعني لو بدلنا المدخل إلى:
كود PHP:
$input = "plain <div> deep <b> deeper </b> deep </div> plain";
سوف يتم طباعة كلمة deeper مشددة لأنه سيطبعها ك html
ما فهمته من عمل الدالة preg_replace_callback
انها تبحث عن طريق التعابير القياسية وتستدعي الدالة في البارامتر الأخير لتقوم بعملية التبديل.
أي ان الشرط:
كود PHP:
if (is_array($input)) {
$input = '<div style="margin-left: 10px">'.$input[1].'</div>';
}
يتنفذ لكل تاغ نجده.
لأستعمالها لإيجاد اي تاغ نكتب:
كود:
$regex = '#\<*.>((?:[^[]|\[(?!/?*.])|(?R))+)\</*.>#';
لتعلم التعابير القياسية هناك كتاب جيد يشرحها وهو:
sams teach yourself regular expressions in 10 minutes
الملف في المرفقات
شكرا جدا يا اخوان على التعاون معى
سوف استعمل دوم مؤقتا حتى اجد شرح
لهذه الداله
بالنسبه للاخ ahmed فالجافا سكربت عباره عن نظام دوم
وشاكر جدا لتعاونك معى
كنت اقصد ان الدوال متشابهة بالنسبة للتعامل مع الوسوم