/ / Preg_match () - php, regex, preg-match के साथ स्ट्रिंग के अंदर utf-8 वाक्यांश मिलान करें

Preg_match () - php, regex, preg-match के साथ स्ट्रिंग के अंदर utf-8 वाक्यांश मिलान करें

मैं एक शब्द के रूप में एक स्ट्रिंग के अंदर कुछ वाक्यांश मिलान करने के लिए triyin हूँ (stristr काम नहीं करता है क्योंकि मैं "शब्द" वाले परिणाम नहीं चाहते हैं)

मैं इस कोड का उपयोग करता हूं:

function striword($string, $word) {
return preg_match("/(?:[[:space:]]|^)" . $word . "(?:[^w]|$)/i", $string);
}

लेकिन जब मैं एक स्ट्रिंग से मिलान करने की कोशिश करता हूं जैसे "यह एक स्ट्रिंग है" यह उम्मीद के अनुसार काम नहीं करता है :(

उदाहरण:

//Phrase to match: "soda and beer"

striword($string, "soda and beer");

String 1: "I like soda and beer" MATCH: TRUE
String 2: "I like soda and beerbum" MATCH: FALSE
String 3: "I like soda and beer, it"s nice!" MATCH: TRUE

उत्तर:

जवाब के लिए 2 № 1

दो विकल्प:

या तो शब्द सीमा एंकर का उपयोग करें (उपयोगी यदि आप "वास्तविक, अल्फान्यूमेरिक शब्दों से निपट रहे हैं):

preg_match("/b" . $word . "b/i", $string);

या विभाजक के रूप में रिक्त स्थान का उपयोग करें:

preg_match("/(?:^|s)" . $word . "(?:s|$)/i", $string);

यदि आप यूनिकोड स्ट्रिंग का उपयोग कर रहे हैं और यूनिकोड शब्दों से मेल खाना चाहते हैं, तो भूल जाओ /u संशोधक।