نوشته شده توسط
imdeveloper
مرسی از راهنماییتون
الان یه چیزه دیگه ای که مشکل دارم این هستش که من میخوام یه لیست رو بگیرم و بررسی کنم اگر توش حرف انگلیسی داشت استایل بدم
اینو چی کنم؟؟
مثلا یه لیست اینجوری :
کد HTML:
<li>tst تست </li>
<li>تست</li>
<li>test</li><li>tst تست </li>
<li>تست</li>
<li>test</li>
فقط بازی با regex هست! میتونید از regexr استفاده کنید عبارت هاتون رو تست کنید:
http://www.regexr.com/
برای مثالتون (البته راه حل های دیگه هم ممکنه باشه باید تست کنید!)
<?php
$text = '<li>tst تست </li>
<li>تست</li>
<li>test</li><li>tst تست </li>
<li>تست</li>
<li>test</li>';
$styledText = preg_replace_callback('/<li>(.*?)<\/li>/sim', function($matches) {
if(preg_match('/[a-zA-Z]+/', $matches[1])){
return '<li class="en">' . $matches[1] . '</li>';
}
return $matches[0];
}, $text);
echo $styledText . PHP_EOL;
خروجی:
<li class="en">tst تست </li>
<li>تست</li>
<li class="en">test</li><li class="en">tst تست </li>
<li>تست</li>
<li class="en">test</li>
در بعضی موارد از جاوا اسکریپت هم میتونید استفاده کنید! باید ببینید چه نیازی دارید.