07-05-2008, 22:56
|
|
|
חבר מתאריך: 25.08.03
הודעות: 9,114
|
|
ננסה להתחיל מהתחלה. קרי, ללא התבססות והמשך מאחד מהתחבירים הקודמים שהוצעו.
קוד PHP:
<?php
header('Content-Type: text/plain');
$word = 'sex';
echo $text = 'word sex "Sex seX" "sex" sexy <br> -sex- -sex sex_ oversex sexo msex SEX >sex< word';
echo "\n";
echo $text2 = 'wordsex "Sex seX" "sex" sexy <br> -sex- -sex sex_ oversex sexo msex SEX >sex<word';
echo "\n";
echo $text3 = 'sex "Sex seX" "sex" sexy <br> -sex- -sex sex_ oversex sexo msex SEX >sex<';
echo "\n\n";
echo "\n".preg_replace('/(([^a-zא-ת\s]+|\b)'.$word.'([^a-zא-ת\s]+|\b))/i', '|\\1|', $text);
echo "\n".preg_replace('/(([^a-zא-ת\s]+|\b)'.$word.'([^a-zא-ת\s]+|\b))/i', '|\\1|', $text2);
echo "\n".preg_replace('/(([^a-zא-ת\s]+|\b)'.$word.'([^a-zא-ת\s]+|\b))/i', '|\\1|', $text3);
?>
1. היות והשורות לא רציפות, הקוד לא מוצג כאן כ"כ טוב, תעתיק את זה לתוכנה בה אתה נעזר לכתיבת הקוד.
2. כפי שניתן לראות, בחרתי בשלוש מחרוזות דומות השונות ביניהן בתחילתן וסיומן, כדי לבדוק את כל המקרים, כולל מקרים בהם בתחילה או בסוף יש מילה אחרת, אין מילה כלל, מילה עם רווח וכדומה.
3. כמה מילים על הקוד:
א. כדי לפתור גם את המקרים שציינתי בסעיף הקודם, בחרתי לציין "או גבול של מילה" או תו שאינו תו עברי, אנגלי או רווח. - רצוי להשים לב שתו בשפה זרה לא יכתב ולכן זה לא כ"כ מתאים, נדרש להוסיף גם שפות אחרות או לשנות במעט את הביטוי.
ב. התו | משמש על מנת להקיף את המילים שצונזרו. בכוונה השארתי גם את המילים המקוריות, כדי שניתן יהיה לעקוב אחר המילים שהוחלפו (עדיף יהיה להשתמש בצבעים לצורך הענין, אך אני מעדיף בד"כ תצוגת מלל נקיה לצורך בדיקות).
|