2014-02-06 2 views
-2

Итак, у меня есть этот код: если я напечатаю что-то с определенным словом, он появится, например, if ($_POST['text'], он будет искать слово smile и преобразовать его в какой-то другой текст $out_smile. Этот метод работает хорошо, но когда дело доходит до добавления текста между текстом, например "I love to smile", он не распознает "smile", он распознает его как "I love to smile". Я интуитивно знаю причину этого. Есть ли способ добавить строку?Ищете конкретное слово в строке текста на submit

if ($_POST['text'] == "Smile") { 
    $out_smile = 'My Code here <img src="URL">'; 
} 

Я хочу сделать что-то подобное. Можно ли сделать что-то подобное?

if (Found in the entire $text if there is a word == "smile") { 
    $out_smile = 'My Code here <img src="URL">'; 
} 

ИЛИ

$Auto_detect_left = "Extra text in the left hand"; //I Dont know how i am gonna do it 
    $Auto_detect_right = "Extra text in the right hand"; //I Dont know how i am gonna do it 
    $Out_result = ".$Auto_detect_left.$text.$Auto_detect_right; 
if ($_POST['text'] == "$Out_result") { 
    $out_smile = 'My Code here <img src="URL">'; 
} 

ответ

2

Предполагая, что вы просите, чтобы проверить, что строка содержится в различной последовательности, что вы хотите, вероятно strpos.

$haystack = 'arglebarglearglebargle smile!'; 
$needle = 'smile'; 
$pos = strpos($haystack, $needle); 

if ($pos === false) { 
    //$needle is not present in $haystack 
} else { 
    //$needle is in $haystack at position $pos 
} 

Пожалуйста, обратите внимание на использование ===, его использование является обязательным в данном случае, или это не всегда будет работать должным образом. (Позже вы должны, вероятно, посмотреть разницу между == и === в php.)

Смежные вопросы