Как определить, является ли строка пустой, кроме тегов <br />? - PullRequest
0 голосов
/ 03 марта 2012

У меня есть три переменные, которые могут содержать или не содержать данные.

давайте назовем их $ name, $ address и $ phone.

Допустим, я хочу объединить их все в одну переменную $ contact, каждая в отдельной строке.

$contact = $name.'<br />'.$address.'<br />'.$telephone;

$contact затем помещается в массив. Этот массив в конечном итоге проходит через цикл foreach, не обрабатывая переменные, равные ''. Как мне узнать, пуста ли строка, кроме двух тегов <br />? Я пытался скопировать $ contact в $ test_contact и запустить str_replace('<br />', '', $test_contact;, но даже когда все переменные были установлены на '' $test_contact == '', все равно оценивается как false. Я также пробовал trim() после str_replace(), но это тоже не сработало. Я также пытался использовать ===, но опять не повезло.

Чего мне не хватает? Есть ли лучший способ сделать это?

Марка

Ответы [ 3 ]

2 голосов
/ 03 марта 2012

Маршрут str_replace обязательно должен работать:

if(trim(str_replace('<br />', '', $test_contact)) == '') {
  echo 'empty';
}

Но почему бы вам не проверить его перед тем, как вставить его в свой массив?

if(strlen($name) + strlen($address) + strlen($telephone) == 0) {
  // don't insert
}
1 голос
/ 03 марта 2012
if(strlen(str_replace("<br />", "", $test_contact)) === 0) {
  //empty
}
0 голосов
/ 03 марта 2012

проверьте перед вставкой:

if ($name.$address.$telephone == '')

тогда пусто

...