PDA

View Full Version : حذف کاراکترهای انگلیسی در PHP (حل شد)



بیتا حکمت
سه شنبه 05 اسفند 1393, 20:28 عصر
سلام . میخوام که کاراکترهای انگلیسی رو از یک کلمه حفظ کنم . مثلا در رشته ای که " Are We in Hell Already? آیا ما قبلا" در جهنم بوده ایم " فقط جمله ای که فارسی هست بمونه و کلمات انگلیسی حذف بشن..
از این کد استفاده کردم اما نتیجه عکس داد




$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);

abdollah110110
سه شنبه 05 اسفند 1393, 21:23 عصر
سلام. میتونید اینجوری بنویسیدش:


ereg_replace('[^آ-ی]', '', $str);

H:Shojaei
سه شنبه 05 اسفند 1393, 21:42 عصر
اینو امتحان کنید:
preg_replace('/[A-Za-z0-9-]/', ' ', $string);

hamedarian2009
سه شنبه 05 اسفند 1393, 22:00 عصر
سلام از این regex استفاده کنید


$pattern = '/[^\x{0600}-\x{06FF}\x]{1,32}/u';
$string = "Are We in Hell Already? آیا ما قبلا در جهنم بوده ایم";

$slug = preg_replace($pattern, '', $string);
echo $slug;

MMSHFE
سه شنبه 05 اسفند 1393, 22:52 عصر
echo preg_replace('#[^a-z\s]#i', '', $string);,

MMSHFE
سه شنبه 05 اسفند 1393, 22:52 عصر
از ereg استفاده نکنید. منسوخ شده.

bagherok
سه شنبه 05 اسفند 1393, 23:31 عصر
echo preg_replace('#[^a-z\s]#i', '', $string);,
^ اضافه ست

<?php
header('Content-Type: text/html; charset=utf-8');

echo preg_replace('#[^a-z\s]#i', '', "حذف کاراکترهای انگلیسی در PHP");//PHP
echo preg_replace('#[a-z]#i', '', "حذف کاراکترهای انگلیسی در PHP");//حذف کاراکترهای انگلیسی در

MMSHFE
سه شنبه 05 اسفند 1393, 23:35 عصر
درسته من اشتباهاً فکر کردم کارکترهای غیر انگلیسی رو میخوان حذف کنن.

bagherok
سه شنبه 05 اسفند 1393, 23:39 عصر
خب قراره که حروف انگلسی حذف بشند
اما این ^ میگه هرچیزی به غیر حروف انگلیسی و فاصله بود حذف کن

پس به جای preg_replace باید از preg_match استفاده میشد.