Подтвердить что ты не робот

PHP - Как проверить, содержит ли строка определенный текст

<?php
$a = '';

if($a exist 'some text')
    echo 'text';
?>

Предположим, что у меня есть код выше, как написать оператор "if ($ a exist" some text ")"?

4b9b3361

Ответ 1

Используйте функцию strpos: http://php.net/manual/en/function.strpos.php

$haystack = "foo bar baz";
$needle   = "bar";

if( strpos( $haystack, $needle ) !== false) {
    echo "\"bar\" exists in the haystack variable";
}

В твоем случае:

if( strpos( $a, 'some text' ) !== false ) echo 'text';

Обратите внимание, что мое использование оператора !== (вместо != false или == true или даже просто, if( strpos(... ) ) {) происходит из-за "истинного"/"ложного" характера обработки PHP возвращаемое значение strpos.

Ответ 2

Пустые строки ложны, поэтому вы можете просто написать:

if ($a) {
    echo 'text';
}

Хотя если вы спрашиваете, существует ли определенная подстрока в этой строке, вы можете использовать strpos() для этого:

if (strpos($a, 'some text') !== false) {
    echo 'text';
}

Ответ 4

Вы можете использовать strpos() или stripos(), чтобы проверить, содержит ли строка указанную иглу. Он вернет позицию, в которой он был найден, иначе вернется FALSE.

Используйте операторы === или `! ==, чтобы отличать FALSE от 0 в PHP.

Ответ 5

Вы можете использовать оператор сравнения == , чтобы проверить, равна ли эта переменная тексту:

if( $a == 'some text') {
    ...

Вы также можете использовать функцию strpos для возврата первого вхождения строки:

<?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";
}

См. документацию

Ответ 6

вы можете использовать этот код

$a = '';

if(!empty($a))
  echo 'text';

Ответ 7

Если вам нужно знать, существует ли слово в строке, вы можете использовать это. Как вам непонятно, если вы просто хотите знать, является ли переменная строкой или нет. Где "слово" - это слово, которое вы ищете в строке.

if (strpos($a,'word') !== false) {
echo 'true';
}

или используйте метод is_string. Который возвращает true или false для данной переменной.

<?php
$a = '';
is_string($a);
?>

Ответ 8

Вы хотите проверить, является ли $a непустой строкой? Так что он содержит только любой текст? Затем будет выполнено следующее.

Если $a содержит строку, вы можете использовать следующее:

if (!empty($a)) {      // Means: if not empty
    ...
}

Если вам также нужно подтвердить, что $a на самом деле является строкой, используйте:

if (is_string($a) && !empty($a)) {      // Means: if $a is a string and not empty
    ...
}