Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Две функции explode() для разбивки строки с двумя видами разделителей
 
 автор: tima2010   (12.09.2011 в 15:00)   письмо автору
 
 

привет! возможно ли в explode задать двойное значение разделителей и чтобы он нас правильно понял? :) к примеру есть строка


<?php
$str 
"имя,фамилия;имя2,фамилия2;"

$pieces explode(";"$str);

echo 
$pieces[0];
?>

так он выведет имя,фамилия а как еще разбить и запятую чтобы я мог вывести

имя
фамилия


то есть дать понять explode что нужно разделить сначала запятую а потом точку с запятой?

спасибо.

  Ответить  
 
 автор: tima2010   (12.09.2011 в 15:05)   письмо автору
 
   для: tima2010   (12.09.2011 в 15:00)
 

или придется писать так?

<?php 
$str 
"имя,фамилия;имя2,фамилия2;" 

$pieces explode(";"$str); 
$pieces2 explode(","$pieces[0]); 

echo 
$pieces2[0]; 
echo 
$pieces2[1]; 
?>

  Ответить  
 
 автор: Lotanaen   (12.09.2011 в 15:11)   письмо автору
 
   для: tima2010   (12.09.2011 в 15:05)
 

смотря что вам нужно получить... и какие входящие условия... можно и preg_match_all() использовать, можно
str_replace(";"",",$str)
пременить, а потом уже explode(), но это если шаблон данных жесткий и постоянный...

  Ответить  
 
 автор: tima2010   (12.09.2011 в 15:16)   письмо автору
 
   для: Lotanaen   (12.09.2011 в 15:11)
 

вообще шаблон жесткий и постоянный

да по поводу str_replace тоже думал


<?php
echo str_replace(array(';',','), array('<br/>',' '), $str);
?>


но мне каждую строку нужно обрамить кодом (к примеру) <p></p> а в данном примере я смогу сделать это только в конце, после знака ;

  Ответить  
 
 автор: Lotanaen   (12.09.2011 в 15:22)   письмо автору
 
   для: tima2010   (12.09.2011 в 15:16)
 

ну тогда два explode() используйте...

  Ответить  
 
 автор: tima2010   (12.09.2011 в 15:27)   письмо автору
 
   для: Lotanaen   (12.09.2011 в 15:22)
 

нет лучше тогда делать так
<?php 
$str 
"@имя,фамилия;";
echo 
str_replace(array('@',';',','), array('<p>','</p><br/>',' '), $str); 
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования