Нет. В скобки я ставил тоже. И заменял. Вы правы, основ языка не знаю, но в скобки ставил и заменял и местами менял. Все равно не выходит.
» PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
erroraccount
что именно не выходит?
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
echo implode('. ', $sentences);
что именно не выходит?
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
echo implode('. ', $sentences);
У меня с этим текстом не выходит.
Код:
<?php
$string = 'Ровный золотистый свет луны заливал высокий дом, стоящий на сваях, как на ходулях, освещал ребятишек и взрослых, сидящих на высоком помосте — открытом крыльце — вокруг старого Тхыонга, деда-сказочника. Невдалеке сквозь тропическую ночь скорее угадывались, чем виднелись силуэты невысоких, сгорбленных, как черепахи, вьетнамских гор. Размеренно и напевно лилась речь — дед рассказывал сказки.
В них, как и в сказках всех народов мира, жила дерзновенная мечта человека о счастье, о чудесных предметах и чудесах: ковре-самолете и тысячемильных туфлях, о дворцах, возникающих по волшебству, и о необыкновенных, огромных рисовых зернах.
Сказка — удивительное творение человеческого гения, она возвышает человека, радует его, дает веру в свои силы, в будущее, увлекает достижимостью того, что кажется вроде бы совершенно невозможным...
Наутро я прощался с дедом Тхыонгом, и еще долго слышались мне мелодичные и величавые звуки гонга, доносившиеся из его дома, где собрались люди по случаю отъезда советско-вьетнамской экспедиции фольклористов.
Конечно, сказки слушали и слушают и в русских избах, и в африканских хижинах, крытых пальмовыми листьями. Словом, всюду. Но теперь, чтобы познакомиться со сказками почти любого народа мира, не обязательно слушать сказочника, достаточно протянуть руку к полке с книгами: ныне эти сказки переведены на многие языки, стали осознанно важным явлением мировой культуры, без которого она оказалась бы далеко не полной, а детство каждого из нас — лишенным чего-то важного.
Но так было далеко не всегда, и Пушкин в 1824 году в своем письме из ссылки — села Михайловского — сетовал и восхищался: «Вечером слушаю сказки — и вознаграждаю тем недостатки проклятого своего воспитания. Что за прелесть эти сказки! Каждая есть поэма!»
Разумеется, что сказки, оказавшись зафиксированными в книге, вышедшей многотысячным тиражом, сохранятся для грядущих поколений. Их прочтут и те, кто никогда в жизни не увидит сказочника или сказочницу. Но, не будучи свидетелями мастерского исполнения таких сказочников, как дед Тхыонг, мы многое потеряем. Ведь дед и напевно декламировал, и подражал гомону птиц, рокоту горных потоков, рычанию тигров и трубным звукам слонов. Он имитировал шум джунглей, крик обезьян, звон ручья. Словом, это был своеобразный театр одного актера, тем более что сказочник дополнял выразительность своего выступления еще и жестом. О том, сколь важную роль в жизни людей играло устное творчество, говорит тот факт, что в пантеоны местных культов разных народов входили боги или духи — покровители певцов, сказителей и сказочников.';
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ]+\b/u', ' ' , $string); // для: В.М.МОЛОТОВА
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ][а-яё]+\-[А-ЯЁ][а-яё]+\b/u', ' ' , $string); // для: В.И.Меж-Лаук
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[-А-ЯЁ][-а-яё]+\b/u', ' ' , $string); // для: В.М.Молотов
$string = preg_replace('/[А-ЯЁ][а-яё]+\s+[А-ЯЁ]\.\s*[А-ЯЁ]\.\,*/u', ' ' , $string); // для: Ворошилов К. Е. Ворошилов К.Е.
$string = preg_replace('/[A-Z]+\b/u', ' ' , $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]{2,3}\./u', ' ', $string);
$sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
$sentences = preg_replace('/\s*[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
echo implode('. ', $sentences);
?>
Код:
<?php
$string = 'Ровный золотистый свет луны заливал высокий дом, стоящий на сваях, как на ходулях, освещал ребятишек и взрослых, сидящих на высоком помосте — открытом крыльце — вокруг старого Тхыонга, деда-сказочника. Невдалеке сквозь тропическую ночь скорее угадывались, чем виднелись силуэты невысоких, сгорбленных, как черепахи, вьетнамских гор. Размеренно и напевно лилась речь — дед рассказывал сказки.
В них, как и в сказках всех народов мира, жила дерзновенная мечта человека о счастье, о чудесных предметах и чудесах: ковре-самолете и тысячемильных туфлях, о дворцах, возникающих по волшебству, и о необыкновенных, огромных рисовых зернах.
Сказка — удивительное творение человеческого гения, она возвышает человека, радует его, дает веру в свои силы, в будущее, увлекает достижимостью того, что кажется вроде бы совершенно невозможным...
Наутро я прощался с дедом Тхыонгом, и еще долго слышались мне мелодичные и величавые звуки гонга, доносившиеся из его дома, где собрались люди по случаю отъезда советско-вьетнамской экспедиции фольклористов.
Конечно, сказки слушали и слушают и в русских избах, и в африканских хижинах, крытых пальмовыми листьями. Словом, всюду. Но теперь, чтобы познакомиться со сказками почти любого народа мира, не обязательно слушать сказочника, достаточно протянуть руку к полке с книгами: ныне эти сказки переведены на многие языки, стали осознанно важным явлением мировой культуры, без которого она оказалась бы далеко не полной, а детство каждого из нас — лишенным чего-то важного.
Но так было далеко не всегда, и Пушкин в 1824 году в своем письме из ссылки — села Михайловского — сетовал и восхищался: «Вечером слушаю сказки — и вознаграждаю тем недостатки проклятого своего воспитания. Что за прелесть эти сказки! Каждая есть поэма!»
Разумеется, что сказки, оказавшись зафиксированными в книге, вышедшей многотысячным тиражом, сохранятся для грядущих поколений. Их прочтут и те, кто никогда в жизни не увидит сказочника или сказочницу. Но, не будучи свидетелями мастерского исполнения таких сказочников, как дед Тхыонг, мы многое потеряем. Ведь дед и напевно декламировал, и подражал гомону птиц, рокоту горных потоков, рычанию тигров и трубным звукам слонов. Он имитировал шум джунглей, крик обезьян, звон ручья. Словом, это был своеобразный театр одного актера, тем более что сказочник дополнял выразительность своего выступления еще и жестом. О том, сколь важную роль в жизни людей играло устное творчество, говорит тот факт, что в пантеоны местных культов разных народов входили боги или духи — покровители певцов, сказителей и сказочников.';
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ]+\b/u', ' ' , $string); // для: В.М.МОЛОТОВА
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ][а-яё]+\-[А-ЯЁ][а-яё]+\b/u', ' ' , $string); // для: В.И.Меж-Лаук
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[-А-ЯЁ][-а-яё]+\b/u', ' ' , $string); // для: В.М.Молотов
$string = preg_replace('/[А-ЯЁ][а-яё]+\s+[А-ЯЁ]\.\s*[А-ЯЁ]\.\,*/u', ' ' , $string); // для: Ворошилов К. Е. Ворошилов К.Е.
$string = preg_replace('/[A-Z]+\b/u', ' ' , $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]{2,3}\./u', ' ', $string);
$sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
$sentences = preg_replace('/\s*[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
echo implode('. ', $sentences);
?>
erroraccount
Цитата:
сложно с вами. не выходит что? укажите какой результат ожидается, так как у вас тут нет имен с инициалами и тд и тп.
Цитата:
У меня с этим текстом не выходит.
сложно с вами. не выходит что? укажите какой результат ожидается, так как у вас тут нет имен с инициалами и тд и тп.
Да, простите. Сам понимаю, что сложно со мной, но большое спасибо что возитесь ))
Если закинуть текст из нескольких абзацев, то после обработки они сливаются и текст идет в одну строку.
А надо, чтобы после обработки текст выводился абзацами.
Вот тут я вывел первый блок, как сейчас с обработкой, а второй блок без обработки, но абзацы сохранены.
Код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Document</title>
</head>
<body>
<?php
$string = 'Ровный золотистый свет луны заливал высокий дом, стоящий на сваях, как на ходулях, освещал ребятишек и взрослых, сидящих на высоком помосте.
В них, как и в сказках всех народов мира.
Сказка — удивительное творение человеческого гения...
Наутро я прощался с дедом Тхыонгом, и еще долго слышались.
Конечно, сказки слушали и слушают и в русских избах.
Но так было далеко не всегда, и Пушкин в 1824 году.
Разумеется, что сказки, оказавшись зафиксированными в книге.';
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ]+\b/u', ' ' , $string); // для: В.М.МОЛОТОВА
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ][а-яё]+\-[А-ЯЁ][а-яё]+\b/u', ' ' , $string); // для: В.И.Меж-Лаук
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[-А-ЯЁ][-а-яё]+\b/u', ' ' , $string); // для: В.М.Молотов
$string = preg_replace('/[А-ЯЁ][а-яё]+\s+[А-ЯЁ]\.\s*[А-ЯЁ]\.\,*/u', ' ' , $string); // для: Ворошилов К. Е. Ворошилов К.Е.
$string = preg_replace('/[A-Z]+\b/u', ' ' , $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]{2,3}\./u', ' ', $string);
$sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
$sentences = preg_replace('/\s*[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
echo implode('. ', $sentences);
?>
<br><br><br>
<?php echo nl2br($string); ?>
</body>
</html>
Если закинуть текст из нескольких абзацев, то после обработки они сливаются и текст идет в одну строку.
А надо, чтобы после обработки текст выводился абзацами.
Вот тут я вывел первый блок, как сейчас с обработкой, а второй блок без обработки, но абзацы сохранены.
Код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Document</title>
</head>
<body>
<?php
$string = 'Ровный золотистый свет луны заливал высокий дом, стоящий на сваях, как на ходулях, освещал ребятишек и взрослых, сидящих на высоком помосте.
В них, как и в сказках всех народов мира.
Сказка — удивительное творение человеческого гения...
Наутро я прощался с дедом Тхыонгом, и еще долго слышались.
Конечно, сказки слушали и слушают и в русских избах.
Но так было далеко не всегда, и Пушкин в 1824 году.
Разумеется, что сказки, оказавшись зафиксированными в книге.';
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ]+\b/u', ' ' , $string); // для: В.М.МОЛОТОВА
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[А-ЯЁ][а-яё]+\-[А-ЯЁ][а-яё]+\b/u', ' ' , $string); // для: В.И.Меж-Лаук
$string = preg_replace('/[А-ЯЁ]\.\s*[А-ЯЁ]\.\s*[-А-ЯЁ][-а-яё]+\b/u', ' ' , $string); // для: В.М.Молотов
$string = preg_replace('/[А-ЯЁ][а-яё]+\s+[А-ЯЁ]\.\s*[А-ЯЁ]\.\,*/u', ' ' , $string); // для: Ворошилов К. Е. Ворошилов К.Е.
$string = preg_replace('/[A-Z]+\b/u', ' ' , $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]\./u', ' ', $string);
$string = preg_replace('/\s[А-ЯЁа-яё]{2,3}\./u', ' ', $string);
$sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
foreach($sentences as &$s)
$s = preg_replace('/^\s+(\w)/ue', "mb_strtolower('$1', 'UTF-8')", $s);
$sentences = preg_replace('/\s*[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
echo implode('. ', $sentences);
?>
<br><br><br>
<?php echo nl2br($string); ?>
</body>
</html>
erroraccount
1) повторюсь еще раз.. меня не интересует код, меня интересует какой текст на входе и что получаете на выходе. чтобы понять какие именно действия нужны и что получается не так, как вам хочется.
2) я же написал, что html игнорирует пробелы и так далее.
если есть обычный текст, то и выводите его в теге <pre></pre>
http://htmlbook.ru/html/pre
1) повторюсь еще раз.. меня не интересует код, меня интересует какой текст на входе и что получаете на выходе. чтобы понять какие именно действия нужны и что получается не так, как вам хочется.
2) я же написал, что html игнорирует пробелы и так далее.
если есть обычный текст, то и выводите его в теге <pre></pre>
http://htmlbook.ru/html/pre
Цитата:
повторюсь еще раз.. меня не интересует код
Мое сообщение осталось на другой странице, вы видимо не заметили, я там подправил. Вставил скрин, где на одну и ту же страницу выводятся два блока. Один блок разбит на "абзацы", с помощью <br> а другой одной строкой.
Если html игнорирует пробелы и т.д., то в этом случае оба текста на одной странице, поэтому кажется что это из-за обработки, когда смена регистра происходит.
Добавлено:
Цитата:
повторюсь еще раз.. меня не интересует код
Мое сообщение осталось на другой странице и вы не увидели, я там подправил и вставил скрин, на котором два блока выводятся на одну страницу. Один блок с переносом строк, а тот, к которому применялась обработка со сменой регистра, в одну строку.
Получается html тут не при чем. Ведь второй блок html выводит с переносом строк.
erroraccount
вот так, на примерах, и нужно показывать ) вот
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
echo '<pre>' . implode('.', $sentences) . '.</pre>';
вот так, на примерах, и нужно показывать ) вот
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
echo '<pre>' . implode('.', $sentences) . '.</pre>';
Помогите пожалуйста.
Если предложение не заканчивается точкой, то дальнейшая обработка удаляет слово в начале строки.
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
$sentences = preg_replace('/[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
Если предложение не заканчивается точкой, то дальнейшая обработка удаляет слово в начале строки.
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\./u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
$sentences = preg_replace('/[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
erroraccount
помочь с чем? вы сами сказали так сделать
Цитата:
так как нет точки, то нет и конца-начала предложения в этом месте - удаляете слово с большой буквы, как вы определите что там делать?
помочь с чем? вы сами сказали так сделать
Цитата:
$sentences = preg_replace('/[А-ЯЁA-Z][а-яёa-z]+/u', ' ', $sentences);
так как нет точки, то нет и конца-начала предложения в этом месте - удаляете слово с большой буквы, как вы определите что там делать?
Я сделал так:
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\.|(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\n/u', $string, 0, PREG_SPLIT_NO_EMPTY);
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\.|(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\n/u', $string, 0, PREG_SPLIT_NO_EMPTY);
erroraccount
Цитата:
смысл? будет предложение с переносом строки \n - посчитается как два разных предложения. для этого не нужны даже (?< и так далее.. вы пытаетесь методом тыка, не представляя логику работы в целом.
Цитата:
Цитата:
у вас в $sentences есть элементы просто с переносом строки - так как разбиение идет и по переносу строки и по точке. если есть оба - появляется элемент в массиве с символом переноса строки. фильтровать - перебирать и убирать/исправлять ненужное.
к примеру так
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\.|\r?\n/u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
echo '<pre>' . implode(".\n", $sentences) . '.</pre>';
Цитата:
Я сделал так:
смысл? будет предложение с переносом строки \n - посчитается как два разных предложения. для этого не нужны даже (?< и так далее.. вы пытаетесь методом тыка, не представляя логику работы в целом.
Цитата:
Подскажете как от точек в начале избавиться?
Цитата:
echo '<pre>' . implode('.', $sentences) . '.</pre>';
у вас в $sentences есть элементы просто с переносом строки - так как разбиение идет и по переносу строки и по точке. если есть оба - появляется элемент в массиве с символом переноса строки. фильтровать - перебирать и убирать/исправлять ненужное.
к примеру так
Код: $sentences = preg_split('/(?<!\b\w)(?<!\b\w\w)(?<!\b\w\w\w)\.|\r?\n/u', $string, 0, PREG_SPLIT_NO_EMPTY);
$sentences = preg_replace('/(^\s*\w)/ue', "mb_strtolower('$1', 'UTF-8')", $sentences);
echo '<pre>' . implode(".\n", $sentences) . '.</pre>';
Цитата:
но это все костыли
Спасибо и за костыли. )) Так Работает.
Добавлено:
Сейчас все работает. Но хочу спросить, можно ли регуляркой найти строчку, которая заканчивается словом без точки и не заменять ее, а после найденной строки поставить точку? Просто представлялось, что можно добавить в конце строк недостающие точки, если их там нет и этой проблемы бы не было. Или так не делается?
erroraccount
Цитата:
да все можно, но судя по показанными вами вариантов текстов - перенос строки не всегда является окончанием предложения.
например так
$string = preg_replace('/(?<!\.)(\s*?\r?\n|$)/U', ".$0", $string);
Цитата:
если их там нет и этой проблемы бы не было. Или так не делается?
да все можно, но судя по показанными вами вариантов текстов - перенос строки не всегда является окончанием предложения.
например так
$string = preg_replace('/(?<!\.)(\s*?\r?\n|$)/U', ".$0", $string);
Не знаю при чем тут web-программирование, но выдирать урлы из html-страниц для прог закачки помогают следующие примеры:
(http://.*?.(mp3|mpg|wav)) - найти все линки, заканчивающиеся на mp3 или..
(http://.*.avi) - найти все линки, заканчивающиеся на avi
(http://.*.filmiki/.*.avi) - найти все линки, заканчивающиеся на avi и содержащие в пути имя папки filmiki
(\">.*$) - найти (и убрать (заменой)) все символы, начиная с "> и до конца строки
Наверное, можно проще или софтом, но я пока ничего другого не нашел..
Открываю файлы в AkelPad или NotePad++ и там можно в поиске и замене применять рег.выражения.
---
(http://.*?.(mp3|mpg|wav)) - найти все линки, заканчивающиеся на mp3 или..
(http://.*.avi) - найти все линки, заканчивающиеся на avi
(http://.*.filmiki/.*.avi) - найти все линки, заканчивающиеся на avi и содержащие в пути имя папки filmiki
(\">.*$) - найти (и убрать (заменой)) все символы, начиная с "> и до конца строки
Наверное, можно проще или софтом, но я пока ничего другого не нашел..
Открываю файлы в AkelPad или NotePad++ и там можно в поиске и замене применять рег.выражения.
---
cob
это вопрос или что? более того, ваши регулярки без специального модификатора (кроме первой) могут повести себя плохо, так как "жадные".
это вопрос или что? более того, ваши регулярки без специального модификатора (кроме первой) могут повести себя плохо, так как "жадные".
Mavrikii Это пример обработки HTML с линками внутри. Проверено - работает. Предложите лучший вариант?
Добавить символы в начало строки (с помощью замены) - ^
Добавить символы в конец строки (с помощью замены) - $
---
Добавить символы в начало строки (с помощью замены) - ^
Добавить символы в конец строки (с помощью замены) - $
---
cob
Цитата:
даже если и работает, при чем тут данная тема?
в php без модификатора жадности правильно работать не будет.
более того, вы не экранируете точки (например в .avi), а значит вместо точки может пойматься любой символ. в текстовых редактор бывают несколько упрощенные варианты регулярок. но, опять же, здесь спрашивают, а не просто публикуют.
Цитата:
Проверено - работает. Предложите лучший вариант?
даже если и работает, при чем тут данная тема?
в php без модификатора жадности правильно работать не будет.
более того, вы не экранируете точки (например в .avi), а значит вместо точки может пойматься любой символ. в текстовых редактор бывают несколько упрощенные варианты регулярок. но, опять же, здесь спрашивают, а не просто публикуют.
Добрый день. Подскажите как составить рег выражение.
Есть строка с названием телеканала и номером перед названием, например:
#EXTINF:-1,6 365 дней ТВ
Как убрать номер канала из строки что бы получилось:
#EXTINF:-1,365 дней ТВ
Заранее благодарен
Есть строка с названием телеканала и номером перед названием, например:
#EXTINF:-1,6 365 дней ТВ
Как убрать номер канала из строки что бы получилось:
#EXTINF:-1,365 дней ТВ
Заранее благодарен
ivanmara
$str = preg_replace('/(#EXTINF:-\d+,)\d+\s+(\d+)/', '$1$2', $str);
$str = preg_replace('/(#EXTINF:-\d+,)\d+\s+(\d+)/', '$1$2', $str);
вариант [^abc] - любой символ кроме abc.
avangard11
и к чему (зачем) это было написано?
и к чему (зачем) это было написано?
Интересует, как задать в исключаемом перечне (в этом: [^символы]) совпадение не по одному, а разом по двум, трём символам (тег, например)? То есть, чтобы группа символов в диапазоне рассматривалась как единое целое, или как один символ?
D1D1D1D
Цитата:
примеры нужно показывать. в общем случае (но могу понимать не так, примеры) [^символы]{1,3} - от 1 до 3
Цитата:
То есть, чтобы группа символов в диапазоне рассматривалась как единое целое, или как один символ?
примеры нужно показывать. в общем случае (но могу понимать не так, примеры) [^символы]{1,3} - от 1 до 3
Страницы: 12345678910111213141516171819202122232425262728293031323334
Предыдущая тема: Xitami Web Server + PHP+ zend optimizer
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.