الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن كوود لحذف الأرقام

مغلق
بدأه humax9110 في 5 مايو 2007 · 1 رد · 541 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أخواني هذا الكود

ereg_replace('[0-9]{7,11}','(تم حذف الرقم)',$message);

سيستبدل أي رقم إلى عبارة (تم حذف الرقم) حتى لو كان الرقم كان بهذه الطريقة

a112345678.gif

أو

12345678.jpg

أو

=123456789

وهذا يعني بأنه سيستبدل أرقام مهم من النص مثل الصور التي بها أرقام وبالتالي لن تظهر الصور ، كما أنه سيحذف الوصلات للمواضيع والتي يسبق الرقم علامة = ....

فهل هناك طريقة لاستبدال الأرقام ماعدا الأرقام التي تكون في وصلات ... او تكون بعدها دوت وحروف أي تكون في صورة

هذا ولكم شكري وتقديري

#2

يمكن استعمال الصيغة

[^character]

وذلك للمطابقة مع شرط عدم وجود المحرف المذكور فيمكنك مثلاً استخدام:

$m=ereg_replace("([^=])[0-9]{7}([^.])","\\1(تم حذف الرقم)\\2",$message);

هذه الصيغة تتطلب وجود محرف لا يساوي المحرف (=) في بداية السلسلة من الأرقام ومحرف لايساوي المحرف(.) في نهاية السلسلة

لذا يجب أن يسبق ويلي السلسلة محرف على الأقل كي تتم المطابقة والحذف لذا يجب استخدام أولاً:

$message=' '.$message;
$message.=' ';

لنضمن أن السلسلة حتى وإن وجدت في بداية message فسيتم التعرف عليها وكذلك الأمر بالنسبة لنهايتها

لكن عليك الانتباه عند استعمال صيغة مثل:

$m=ereg_replace("([^=])[0-9]{7,11}([^.])","\\1(تم حذف الرقم)\\2",$message);

حيث سيقوم عندها بمطابقة:

=12345678

على أنها الصيغة المطلوبة(سبعة أرقام) مسبوقة بمساواة يليها رقم

ربما كانت الصيغة التي وضعتها تحتاج إلى تحسين ...لكني قررت اقتراحها "علّها" تساعدك في الوصول إلى الصيغة المطلوبة...

اقتباس
You live it or lie it
so DO IT ,DO IT right ,and DO IT right now...

هذا الموضوع مغلق.

مواضيع مشابهة