Помощник
|
str_repace трабл |
SilverCross
|
Сообщение
#1
|
||
|
|
||
|
|||
r3ntg3n |
9.8.2012, 21:19;
Ответить: r3ntg3n
Сообщение
#2
|
|
|
|
|
SilverCross
|
Сообщение
#3
|
|
Дело в том, что они нужны там, просто так я бы их туда не лепил
Вот в чем и вопрос |
|
|
A1ex_hb |
9.8.2012, 21:35;
Ответить: A1ex_hb
Сообщение
#4
|
|
SilverCross,
можно так [PHP] <? $string = "Gm Cm Gm Cm"; echo str_replace(array( 'G','C','m' ),array( '<a href="#">G','<a href="#">C','m</a>' ),$string); ?> [/PHP] или так: [PHP]<? $string = "Gm Cm Gm Cm"; echo str_replace(array( 'Gm','Cm' ),array( '<a href="#">Gm</a>','<a href="#">Cm</a>' ),$string); ?>[/PHP] |
|
|
SilverCross
|
Сообщение
#5
|
|
Теперь брошу код, которым пользуюсь, т.к. код не подходит
[PHP]$sql = mysql_query ("SELECT * FROM songs"); $row = mysql_fetch_assoc($sql); $g = $row['text_song']; //Текст песни, в котором нужно заменять строки $sql = mysql_query ("SELECT * FROM chords"); //Аккорды while ($chord = mysql_fetch_array($sql)) { $p = str_replace($chord['chord'], "<a href=''>".$chord['chord']."</a>", $g); $g = $p; //Если убрать, будет заменять 1ю найденную строку каждый раз } echo "<pre>".$p."</pre>"; [/PHP] Как адаптировать код так, чтобы осуществлялась замена правильно? |
|
|
A1ex_hb |
9.8.2012, 21:48;
Ответить: A1ex_hb
Сообщение
#6
|
|
SilverCross,
переменная $g в строке 4 будет иметь стоку с текстом песни, а в цикле while переменная $chord будет массивом типа array("Gm","Cm","Gm"). Верно? |
|
|
A1ex_hb |
9.8.2012, 21:58;
Ответить: A1ex_hb
Сообщение
#7
|
|
А если пойти по такому пути. Между аккордами (до или после) стоит пробел, и если учитывать наличие пробела?
протести код [PHP]$sql = mysql_query ("SELECT * FROM songs"); $row = mysql_fetch_assoc($sql); $g = $row['text_song']; //Текст песни, в котором нужно заменять строки $sql = mysql_query ("SELECT * FROM chords"); //Аккорды while ($chord = mysql_fetch_array($sql)) { $g = str_replace($chord['chord'].' ', "<a href=''>".$chord['chord']."</a> ", $g); //Пробел после $g = str_replace(' '.$chord['chord'], " <a href=''>".$chord['chord']."</a>", $g); //Пробел до } echo "<pre>".$g."</pre>";[/PHP] |
|
|
SilverCross
|
Сообщение
#8
|
|
А если пойти по такому пути. Между аккордами (до или после) стоит пробел, и если учитывать наличие пробела? протести код [PHP]$sql = mysql_query ("SELECT * FROM songs"); $row = mysql_fetch_assoc($sql); $g = $row['text_song']; //Текст песни, в котором нужно заменять строки $sql = mysql_query ("SELECT * FROM chords"); //Аккорды while ($chord = mysql_fetch_array($sql)) { $g = str_replace($chord['chord'].' ', "<a href=''>".$chord['chord']."</a> ", $g); //Пробел после $g = str_replace(' '.$chord['chord'], " <a href=''>".$chord['chord']."</a>", $g); //Пробел до } echo "<pre>".$g."</pre>";[/PHP] не работает:( |
|
|
SilverCross
|
Сообщение
#9
|
|
|
|
|
A1ex_hb |
9.8.2012, 22:16;
Ответить: A1ex_hb
Сообщение
#10
|
|
|
|
|
|
Текстовая версия | Сейчас: 24.4.2024, 15:33 |