2010-07-04 3 views
0

сказать, у меня есть строка, как $ x = "История [424] <"; как удалить последний «<» и сделать строку $ x = «History [424]»; ... Я пытался str_replace и не знаю, его не работает ... :(Thx заранееКак удалить '<' из строки?

for($k=0;$k<$i;$k++) { 
    $linklabelmod[$k] = str_replace($linklabel[$k], $linklabel[$k]."[$k]", $linklabel[$k]); 
    //$var= str_replace($linklabel[$k], $linklabelmod[$k], $var); 
    print $linklabelmod[$k].'<&nbsp;&nbsp;&nbsp;'; 
    //print $linklabel[$k].'&nbsp;&nbsp;&nbsp;'; 
    print $link[$k].'<br>'; 
} 
+1

Отправьте свой код. – Jage

+0

вот код. Я извлек ссылки и метки ссылок, используя php curl, и добавил номер к метке ссылки, скажем 1 к первому. Но после этого добавляется дополнительная «<» к модифицированной метке ссылки. Теперь мне нужно удалить это. Вот код для ($ k = 0; $ k <$ i; $ k ++) { \t $ linklabelmod [$ k] = str_replace ($ linklabel [$ k], $ linklabel [$ k]. "[$ k] ", $ linklabel [$ k]); \t // $ var = str_replace ($ linklabel [$ k], $ linklabelmod [$ k], $ var); print $ linklabelmod [$ k]. '<     '; \t // print $ linklabel [$ k]. '       '; \t print $ link [$ k]. '
'; } –

+0

Вы должны отредактировать свой вопрос и разместить свой код там, чтобы он был более читабельным. Вы можете использовать кнопку образца кода для ее форматирования (или использовать Ctrl + K). – Mike

ответ

1

Это будет гарантировать, что < только когда-либо удаляется с конца строки, а не из нигде в пределах строки;.

$y = preg_replace('/<$/', '', $x); 
+0

thx, это был именно я искал –

+0

Ответ Писквора лучше, поскольку он избегает необходимости в регулярном выражении - вы должны использовать это вместо этого. – Mike

4
$x = str_replace("<","",$x); 

Edit:. Это заменяет все "<", но, как вы упомянули str_replace в вашем вопросе, это то, как он работает

5
$x = rtrim($x, '<'); // no regex needed 
+0

+1 Хороший вопрос :-) – Mike

+0

thx для этого тоже. –

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