إجابات البحث عن كلمة البستنة

إجابات البحث عن كلمة البستنة


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

إجابات البحث عن كلمة البستنة

لقد بحثت عن كلمة في ملف نصي ثم أعدت سطرًا به الكلمة. ثم أردت البحث في هذا السطر مرة أخرى لكنني لم أرغب في إظهار السطر الذي تم إرجاعه. لذلك استخدمت الكود التالي لإخفاء هذا السطر:

$ text1 = preg_replace ('/'.$ textfile.' / is '،' '، $ text) ،

$ text2 = preg_replace ('/'.$ hiddfile.' / is '،' '، $ text2) ،

سؤالي هو ما إذا كانت هناك طريقة لإرجاع مصفوفة من جميع الأسطر في الملف النصي الذي يحتوي على الكلمة التي بحثت عنها. لذلك ، ستكون النتيجة مصفوفة تحتوي على جميع الأسطر من الملف النصي ، لكنني لن أرى السطر الذي تم إرجاعه ولن أرى السطر الذي أخفيه. هل يستطيع احد مساعدتي؟ شكرا.

تحرير: كنت أستخدم:

preg_match_all ('/'.$ textfile.' / is '، $ text، $ matchs) ،

وهو ما سيعيد جميع المطابقات إلى ملف textfile $ ، ولكن هناك الآلاف منها ، لذا سأفعل ذلك بنفسي وهو بطيء جدًا.

لم تجب الإجابات أعلاه على سؤالي حقًا لأنها أعادت السطر الذي بحثت عنه ، لكنني لم أرغب في استخدام شيء مثل:

preg_match ('/'.$ hiddfile.' / is '، $ text، $ matchs) ،

لذلك فكرت في شيء مثل:

foreach ($ matchs as $ match)

{

إذا (strstr ($ match ['0']، $ text))

{

$ temp = $ match ['0'] ،

إرجاع $ temp ،

}

}

لكن هذا لن يؤدي المهمة أيضًا. سأعيد السطر نفسه مرارًا وتكرارًا ، لأن $ text دائمًا ما يكون له نفس القيمة.

أيه أفكار؟

أ:

يستخدم

preg_match_all ("/".$ textfile." / is "، $ text ، $ match) ،

للحصول على كل سطر على حدة. أو

preg_match ("/".$ textfile." / is "، $ text)،

للحصول على كل سطر كمصفوفة.

تحديث:

إذا كان الملف والنص الذي تبحث عنه مختلفين ، فقد ترغب في استخدام:

نمط $ = "/".$textfile."/is" ،

preg_match ($ pattern، $ text، $ match)،

سيعيد هذا مصفوفة من الأسطر كمطابقات $ [0] ، وإذا كنت تريد مجموعة من المطابقات ، فيمكنك ببساطة استخدام:

preg_match ($ pattern، $ text، $ match، PREG_OFFSET_CAPTURE) ،

وحلقة من خلال المصفوفة كما فعلت بالفعل.

أ:

إذا فهمت متطلباتك بشكل صحيح ، فقد ترغب في استخدام

preg_match_all ('/'. textfile. '/ is'، $ text، $ match)،

بهذه الطريقة لن تضطر إلى ترميز أي اسم ملف نصي. ستعمل المباراة بغض النظر عن النص.

أ:

إذا كنت بحاجة إلى البحث عن كلمات في النص ، فاستخدم هذا:

$ found = preg_grep ('/ ^ [aeiou] w * s * (. *) $ / i'، $ text)،

إذا (! فارغة ($ وجدت)) {

صدى "وجدت:". انضم ('،'، $ found [0])،

}

إذا كنت بحاجة إلى العثور على تطابق تام لكلماتك ، فاستخدم هذا:

$ found = preg_grep ('/'. preg_quote (' w +'). '/ is'، $ text)،

إذا (! فارغة ($ وجدت)) {

صدى "وجدت:". انضم ('،'، $ found [0])،

}

أو يمكنك استخدام أنماط أخرى مثل:

$ found = preg_grep ('/'. preg_quote (' w +'). '/ هو | /'. preg_quote (' w +'). '| /'. preg_quote (' w +'). '| /'. preg_quote (' w +'). '؟'. preg_quote (' w +'). '؟'. preg_quote (' w +'). '؟'. preg_quote (' w +'). '/ is'، $ نص)،

تحديث:

$ found = preg_grep ('/ pL pM s p {L}. * p {L} / is'، $ text)،

إذا (! فارغة ($ وجدت)) {

صدى "وجدت:". انضم ('،'، $ found [0])،

}

التحديث 2:

$ found = preg_grep ('/ pL pM s p {L}. * p {L} / is'، $ text)،

إذا (! فارغة ($ وجدت)) {

صدى "وجدت:". انضم ('،'، $ found [0])،

}

التحديث 3:

$ found = preg_grep ('/ ^.* (؟: [aeiou]. *؟ w + s *)؟ p {L}. * / i'، $ text)،

إذا (! فارغة ($ وجدت)) {

صدى "وجدت:". انضم ('،'، $ found [0])،

}


شاهد الفيديو: Basic Search - البحث البسيط