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

Форум Регулярные Выражения

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

 

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

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

тема: разбор фио
 
 автор: ok computer   (14.02.2008 в 08:36)   письмо автору
 
 

необходимо вывести отдельно фамилию, имя и отчество. как?
<?php

$fio
="Фамилия И.О.";

$pattern preg_match("/([^\s]+)\s+([^\s.]\.[^\s.]\.)/",$fio);

$text preg_match_all($pattern$fio$out); 

echo 
$out[1].'<p>';
echo 
$out[2].'<p>';
echo 
$out[3].'<p>';
    
?>

   
 
 автор: ok computer   (14.02.2008 в 09:15)   письмо автору
 
   для: ok computer   (14.02.2008 в 08:36)
 

preg_match("/([^\s]+)\s+([^\s]+)\.+([^\s]+)/",$fio,$out_arr);

   
 
 автор: Evgen   (14.02.2008 в 17:18)   письмо автору
 
   для: ok computer   (14.02.2008 в 09:15)
 

Не проще порезать строку на куски (режем - где пробелы) функцией preg_split?
Если порядок следования ФИО один и тот же, то можно выделить Фамилию, Имя, Отчетство в массив с таким же порядком следования элементов.

   
 
 автор: exp   (14.02.2008 в 21:09)   письмо автору
 
   для: Evgen   (14.02.2008 в 17:18)
 

такие ещё варианты есть
<?
$fio
="Фамилия И.О."
$pattern "#(\S+)\s+(\S)\.(\S)\.#"

preg_match_all($pattern$fio$out);  
print_r($out);
?><hr><?

preg_match_all
($pattern$fio$outPREG_SET_ORDER);  
print_r($out);
?><hr><?

preg_match
($pattern$fio$out);
print_r($out);
?><hr><?

$out 
sscanf($fio"%s %c.%c.");
print_r($out);
?>

   
Rambler's Top100
вверх

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