Intereting Posts
Как решить проблему с разрешением Linux для opencart Данные сеанса теряются с помощью Flash Как отправить сообщение с полем message_tags с помощью Graph API в PHP Ошибка Android при анализе json, когда ключ массива имеет большую длину Невозможно вставить путь для нескольких изображений в таблице базы данных с помощью codeigniter Регулярное выражение для поиска атрибута «src» элемента HTML «img» в PHP Как преобразовать переменную (текст / строку) в utf8mb4 в php Проблемы безопасности с помощью метода Readfile PHP Почему объект Doctrine \ ORM \ Configuration «DoctrineProxies» содержит Вселенную? Почему мне нужно запустить команду «компоновщик-автозагрузка», чтобы миграция работала в laravel Найдите первую бесплатную дату в повестке дня Редактирование PDF в PHP? Почему PDO генерирует предупреждения, когда мы говорим, что это не делать? Перенаправление вместо 404 Страница ошибки – Код состояния не работает (Nginx) Лучшие подкасты PHP

Как искать текст с помощью php if ($ text содержит «World»)

Как искать текст с помощью php?

Что-то вроде:

<?php $text = "Hello World!"; if ($text contains "World") { echo "True"; } ?> 

За исключением замены if ($text contains "World") { с рабочим условием.

В вашем случае вы можете просто использовать strpos() или stripos() для поиска без stripos() регистра:

 if (stripos($text, "world") !== false) { echo "True"; } 

Вам нужно strstr() (или stristr() , как указывал LucaB). Используйте его так:

 if(strstr($text, "world")) {/* do stuff */} 

Если вы ищете алгоритм для ранжирования результатов поиска, основанный на значимости нескольких слов, сюда приходит быстрый и простой способ генерации результатов поиска только с PHP.

Реализация модели векторного пространства в PHP

 function get_corpus_index($corpus = array(), $separator=' ') { $dictionary = array(); $doc_count = array(); foreach($corpus as $doc_id => $doc) { $terms = explode($separator, $doc); $doc_count[$doc_id] = count($terms); // tf–idf, short for term frequency–inverse document frequency, // according to wikipedia is a numerical statistic that is intended to reflect // how important a word is to a document in a corpus foreach($terms as $term) { if(!isset($dictionary[$term])) { $dictionary[$term] = array('document_frequency' => 0, 'postings' => array()); } if(!isset($dictionary[$term]['postings'][$doc_id])) { $dictionary[$term]['document_frequency']++; $dictionary[$term]['postings'][$doc_id] = array('term_frequency' => 0); } $dictionary[$term]['postings'][$doc_id]['term_frequency']++; } //from http://phpir.com/simple-search-the-vector-space-model/ } return array('doc_count' => $doc_count, 'dictionary' => $dictionary); } function get_similar_documents($query='', $corpus=array(), $separator=' '){ $similar_documents=array(); if($query!=''&&!empty($corpus)){ $words=explode($separator,$query); $corpus=get_corpus_index($corpus); $doc_count=count($corpus['doc_count']); foreach($words as $word) { $entry = $corpus['dictionary'][$word]; foreach($entry['postings'] as $doc_id => $posting) { //get term frequency–inverse document frequency $score=$posting['term_frequency'] * log($doc_count + 1 / $entry['document_frequency'] + 1, 2); if(isset($similar_documents[$doc_id])){ $similar_documents[$doc_id]+=$score; } else{ $similar_documents[$doc_id]=$score; } } } // length normalise foreach($similar_documents as $doc_id => $score) { $similar_documents[$doc_id] = $score/$corpus['doc_count'][$doc_id]; } // sort fro high to low arsort($similar_documents); } return $similar_documents; } 

В ТВОЕМ СЛУЧАЕ

 $query = 'world'; $corpus = array( 1 => 'hello world', ); $match_results=get_similar_documents($query,$corpus); echo '<pre>'; print_r($match_results); echo '</pre>'; 

РЕЗУЛЬТАТЫ

 Array ( [1] => 0.79248125036058 ) 

СООТВЕТСТВИЕ МНОЖЕСТВЕННЫМ СЛОВАМ В ОТНОШЕНИИ МНОЖЕСТВЕННЫХ ФРАЗ

 $query = 'hello world'; $corpus = array( 1 => 'hello world how are you today?', 2 => 'how do you do world', 3 => 'hello, here you are! how are you? Are we done yet?' ); $match_results=get_similar_documents($query,$corpus); echo '<pre>'; print_r($match_results); echo '</pre>'; 

РЕЗУЛЬТАТЫ

 Array ( [1] => 0.74864218272161 [2] => 0.43398500028846 ) 

from Как проверить, содержит ли строка определенное слово в PHP?

Это может быть то, что вы ищете:

 <?php $text = 'This is a Simple text.'; // this echoes "is is a Simple text." because 'i' is matched first echo strpbrk($text, 'mi'); // this echoes "Simple text." because chars are case sensitive echo strpbrk($text, 'S'); ?> 

Это?

Или, может быть, это:

 <?php $mystring = 'abc'; $findme   = 'a'; $pos = strpos($mystring, $findme); // Note our use of ===.  Simply == would not work as expected // because the position of 'a' was the 0th (first) character. if ($pos === false) {    echo "The string '$findme' was not found in the string '$mystring'"; } else {    echo "The string '$findme' was found in the string '$mystring'";    echo " and exists at position $pos"; } ?> 

Или даже это

 <?php $email = 'name@example.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com $user = strstr($email, '@', true); // As of PHP 5.3.0 echo $user; // prints name ?> 

Вы можете прочитать все о них в документации здесь:

http://php.net/manual/en/book.strings.php

по-моему, strstr () лучше strpos (). потому что strstr () совместим как с PHP 4, так и с PHP 5. но strpos () совместим только с PHP 5. обратите внимание, что на части серверов нет PHP 5

  /* https://ideone.com/saBPIe */ function search($search, $string) { $pos = strpos($string, $search); if ($pos === false) { return "not found"; } else { return "found in " . $pos; } } echo search("world", "hello world"); 

Вставить PHP онлайн:

 body, html, iframe { width: 100% ; height: 100% ; overflow: hidden ; } 
 <iframe src="https://ideone.com/saBPIe" ></iframe>