PHP обрезка() не делает того, что должен делать

  • Автор темы spak
  • 36
  • Обновлено
  • 12, May 2024
  • #1
Хорошо, у меня есть проанализированная строка (фрагмент строки из текста), в которой по какой-то причине много пробелов - можно подумать, что функция Trim() исправит это, но по какой-то причине это не работает. Вот соответствующая часть кода:
 

foreach($getfile as $line) {

if (strstr($line, 'h4')) {

$get_link_id = str_replace('"','',strstr(strstr($line,'"'),'">',true));

$digit = explode('. ',$line)[0];

var_dump($digit); //this outputs that the $digit-variable is 19 characters, instead of 1 or 2

// echo sprintf("d", trim($digit)); //this doesn't work, since the string is way too long, and trim() doesn't work - I've tried running trim() outside the sprintf as well

echo '<li><a href="#'.$get_link_id.'">'.strip_tags($line).'</a></li>';

}

}

Код (разметка): Я думаю, что обрезка() должна это исправить, но это не так, и я немного в замешательстве.

кто-нибудь знает, что я могу сделать?

spak


Рег
05 Jan, 2013

Тем
1

Постов
3

Баллов
13
  • 12, Jun 2024
  • #2
И... я это понял. Это произошло из-за того, что теги не были удалены перед попыткой заполнения. В итоге поменял на это:
 

if (strstr($line, 'h4')) {

$get_link_id = str_replace('"','',strstr(strstr($line,'"'),'">',true));

$digit = explode('. ',strip_tags($line));

$digit[0] = str_replace(" ", "&nbsp;&nbsp;", str_pad($digit[0], 2, " ", STR_PAD_LEFT));

echo '<li><a href="#'.$get_link_id.'">'.$digit[0].'. '.$digit[1].'</a></li>';

}

PHP:
 

Milashka1


Рег
06 Dec, 2011

Тем
0

Постов
4

Баллов
4
Тем
49554
Комментарии
57426
Опыт
552966

Интересно