| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > как сделать подсчет символов внутри preg_replace? |
| Автор: AlexW 24.8.2007, 15:40 |
| $new=preg_replace('/<td([^>]*)?>([^(<td>|<tr>)]+)<\/td>/Ui',strlen($2),$str); как можно сделать подсчет символов второго найденого выражения и заменить его на цифру колва символов? |
| Автор: SamDark 24.8.2007, 16:41 |
| AlexW, Можно. Надо воспользоваться модификатором /e. См. мануал по preg_replace, там есть пример. |
| Автор: AlexW 24.8.2007, 20:33 | ||
спасибо разобрался вот только как теперь рядом еще и обычные символы выводить..? и так не работает $new1=preg_replace('/<td([^>]*)?>([^(<td>|<tr>)]+)<\/td>/Uie',"<td>strlen('\\2')</td>",$str1); и так $new1=preg_replace('/<td([^>]*)?>([^(<td>|<tr>)]+)<\/td>/Uie',"<td>".strlen('\\2')."</td>",$str1); и другие варианты пробовал.. как правельно будет? Добавлено через 4 минуты и 44 секунды вопрос решен так: $new1=preg_replace('/<td([^>]*)?>([^(<td>|<tr>)]+)<\/td>/Uie',"'<td>'.strlen('\\2').'</td>'",$str1); SamDark, спасибо за наводку |