Update: Фигурная IT OUTтянущие данные из окна DOS Prompt
Ответ: я понял это.
После каждого символа был скрыт \ 0.
Исправление просто: выход
trim(str_replace("\0", '', $string))
ASCII:
|0()|84(T)|0()|104(h)|0()|101(e)|0()|32()|0()|110(n)|0()|117(u)|0()|109(m)|0()|98(b)|0()|101(e)|0()|114(r)|0()|32()|0()|111(o)|0()|102(f)|0()|32()|0()|112(p)|0()|101(e)|0()|110(n)|0()|100(d)|0()|105(i)|0()|110(n)|0()|103(g)|0()|32()|0()|100(d)|0()|101(e)|0()|118(v)|0()|105(i)|0()|99(c)|0()|101(e)|0()|40(()|0()|115(s)|0()|41())|0()|32()|0()|105(i)|0()|115(s)|0()|32()|0()|48(0)|0()|46(.)|0()|13(
)|0()|
Вопрос:
Вот хороший пример строки я тестирую с:
$ string = "Количество ожидающих устройств (устройств) равно 1.";
строка (73) «Количество отложенных устройств (ов) - 1."
Код я пытаюсь запустить это:
$string = "the number of pending device(s) is 1.";
if(strstr($string, "pending"))
{
echo "Found";
}
Еще один я был тестирование:
$text = "The number of pending device(s) is 1.";
$re1='.*?'; # Non-greedy match on filler
$re2='(?:[a-z][a-z]+)'; # Uninteresting: word
$re3='.*?'; # Non-greedy match on filler
$re4='(?:[a-z][a-z]+)'; # Uninteresting: word
$re5='.*?'; # Non-greedy match on filler
$re6='(?:[a-z][a-z]+)'; # Uninteresting: word
$re7='.*?'; # Non-greedy match on filler
$re8='((?:[a-z][a-z]+))'; # Word 1
$re9='.*?'; # Non-greedy match on filler
$re10='(\\d+)'; # Integer Number 1
if ($c=preg_match_all ("/".$re1.$re2.$re3.$re4.$re5.$re6.$re7.$re8.$re9.$re10."/is", $text, $matches))
{
$word1=$matches[1][0];
$int1=$matches[2][0];
print "($word1) ($int1) \n";
}
Теперь это прекрасно работает, если бы это было просто строка. Я вытаскиваю данные из приглашения Windows DOS, и я могу эхо-данные просто отлично, но, к сожалению, когда я пытаюсь запустить данные через preg_match_all или strpos или strstr, он всегда возвращает false. Может ли это быть проблемой кодирования? Все данные echos в браузере просто прекрасны.
Пожалуйста, помогите!
Вы пытались явно преобразовать его в str? Я очень сомневаюсь, что это кодирование, поскольку я запускал некоторые серьёзные строки, не относящиеся к UTF8, через preg_match –
Кроме того, я собираюсь предположить на основе вашего регулярного выражения, что ваш strstr() вызывает отсутствующие котировки - это опечатка –
Если слово неинтересно, почему вы его ищете? Почему вам все равно, что это две буквы большие? Почему вы даже считаете слова? – hakre