|
|
|
| Здравствуйте ни подскажете как из строки удалить лишнее.
мне нужно удалить <p> </p> либо на пробел, или чтобы вместо этого участка строки вообще ничего не было.
Для этого использую скрипт
<?php
header('Content-type: text/plain; charset=utf-8');
$str = '<p> </p>
<p><strong>Финальное изображение:</strong></p>
<p> </p>
<p align="center"><img src="/images/lessons/les1661/1.jpg"
alt="" width="450" height="623" /></p>
<p> </p>
<p>Дополнительные материалы можете скачать
<a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/TUTORIAL%205%20KERVIN.zip">
здесь</a> .<br /><strong><em>Примечание:</em></strong><em> в некоторых
шагах автор не указал настройки, которые использовал для
корректирующих слоёв, стилей слоя поэтому, вам придётся
поэкспериментировать с настройками.</em></p>
<p> </p>
<p><strong>Шаг 1. </strong>Откройте в Photoshop файл
<strong>illus.psd, </strong>который находится в скачанном
архиве. Этот файл имеет три базовых слоя: "linework",
"ground", and "figure". Сделайте неактивным слой "ground",
пока мы с ним работать не будем.</p>';
$str = str_replace('<p> </p>',"\n", $str);
echo '<pre>';
print_r($str);
?>
|
При выполнении между закрывающимся тегом </p> и открывающимся <p> остаётся пустая строка, как сделать чтобы этой пустой строки не было.\n | |
|
|
|
|
|
|
|
для: pautina
(23.02.2012 в 15:24)
| | 1) Зачем так растягивать сообщение? подредактировать не судьба?
2) не "\n", а просто "" или " " | |
|
|
|
|
|
|
|
для: Slo_Nik
(23.02.2012 в 15:51)
| | В результате выполнения скрипта
<p><strong>Финальное изображение:</strong></p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/
В строке есть пустые строки как избавиться от них? | |
|
|
|
|
|
|
|
для: pautina
(23.02.2012 в 15:59)
| | а с чего Вы взяли, что это пустые строки?
может просто надо задать margin:0 для параграфа? | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2012 в 00:32)
| | мне нужно править сам код, не затрагивая стили,
как здесь сделать чтобы вместо
была не пустая строка а
чтобы в итоге код строки был не
<p><strong>Финальное изображение:</strong></p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/
|
а
p><strong>Финальное изображение:</strong></p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/
|
| |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 06:01)
| | у Вас в стилях что записано для <p> ?
Вы пробовали сделать margin:0 для <p> ?
По умолчанию для параграфа margin-top и margin-bottom имеют значения больше "0" и это даёт такой эффект как в Вашем примере.... | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2012 в 12:20)
| | я этот код буду вставлять потом в таблицу БД. мне нужно чтобы по коду не было пустой строки. | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 12:27)
| | У Вас там нет пустой строки, а просто значения margin Вас вводят в заблуждение,,, | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2012 в 12:29)
| | Да мне не нужен ни margin ни pagging средствами php для кода можно прописывать любые условия.
Мне нужно найти такой способ чтоб в строке не было пустых строк. (Этот код вставляется в запись таблицы БД и там не должно быть пустых строк) | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 12:31)
| | Вы пробовали задать margin:0?
Посмотрите на свой код через firebug в Mozilla, наведите в нём курсор на любой Ваш параграф и увидите полосу жёлтого цвета сверху и снизу... это и будет margin.
Вот когда его уберёте, расстояние между параграфами сократится | |
|
|
|
|
|
|
|
для: pautina
(23.02.2012 в 15:24)
| |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
$str = '
Текст
<p> </p>
еще текст <p> </p> текст текст
текст
пробелы
текст
';
$str = str_replace('<p> </p>','', $str);
print_r($str); // получаем - Текст еще текст текст текст текст пробелы текст
?>
|
попробуйте в базу данные записать... | |
|
|
|
|
|
|
|
для: ZetRider
(24.02.2012 в 13:18)
| | Как мне в этом скрипте
<?php
header('Content-type: text/plain; charset=utf-8');
$str = '<p> </p>
<p><strong>Финальное изображение:</strong></p>
<p> </p>
<p align="center"><img src="/images/lessons/les1661/1.jpg"
alt="" width="450" height="623" /></p>
<p> </p>
<p>Дополнительные материалы можете скачать <a
href="http://digitalartsonline.s3.amazonaws.com/DASEP11/
TUTORIAL%205%20KERVIN.zip">здесь</a> .<br /><strong><em>Примечание:</em></strong><em> в некоторых
шагах автор не указал настройки, которые использовал для
корректирующих слоёв, стилей слоя поэтому, вам придётся
поэкспериментировать с настройками.</em></p>
<p> </p>
<p><strong>Шаг 1. </strong>Откройте в Photoshop файл
<strong>illus.psd, </strong>который находится в скачанном
архиве. Этот файл имеет три базовых слоя: "linework",
"ground", and "figure". Сделайте неактивным слой "ground",
пока мы с ним работать не будем.</p>';
$str = str_replace('<p> </p>','', $str);
print_r($str); // получаем - Текст еще текст текст текст
текст пробелы текст
?>
|
Сделать чтоб не было пустых строк
сейчас в результате выполнения скрипта на выходе получаем
<p><strong>Финальное изображение:</strong></p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/TUTORIAL%205%20KERVIN.zip">здесь</a> .<br /><strong><em>Примечание:</em></strong><em> в некоторых шагах автор не указал настройки, которые использовал для корректирующих слоёв, стилей слоя поэтому, вам придётся поэкспериментировать с настройками.</em></p>
<p><strong>Шаг 1. </strong>Откройте в Photoshop файл <strong>illus.psd, </strong>который находится в скачанном архиве. Этот файл имеет три базовых слоя: "linework", "ground", and "figure". Сделайте неактивным слой "ground", пока мы с ним работать не будем.</p>
Как мне избавиться от пустых строк чтоб на выходе получить
<p><strong>Финальное изображение:</strong></p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/TUTORIAL%205%20KERVIN.zip">здесь</a> .<br /><strong><em>Примечание:</em></strong><em> в некоторых шагах автор не указал настройки, которые использовал для корректирующих слоёв, стилей слоя поэтому, вам придётся поэкспериментировать с настройками.</em></p>
<p><strong>Шаг 1. </strong>Откройте в Photoshop файл <strong>illus.psd, </strong>который находится в скачанном архиве. Этот файл имеет три базовых слоя: "linework", "ground", and "figure". Сделайте неактивным слой "ground", пока мы с ним работать не будем.</p>
То что с пустыми строками в таблицу БД записывается неправильно.
может как то можно склеить </p>...<p...> или условие какое задать | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 13:34)
| | Эффект даёт совойство css margin-top и margin-bottom,
которые по умолчанию для <p> не равны "0" !!!
Пишите к базу как есть, а вот при выводе из базы будете обрабатывать, править css ....
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2012 в 14:42)
| | Мне нужно чтобы запись в таблицу БД шла так как если бы её создавали в админке.
Я и сам знаю что в таблицу это запишится и стилями css можно это обработать.
То что для параграфа по умолчанию стоят свои отступы это тоже понятно.
Я вам уже несколько раз и сам говорю что мне нужно
ИЗБАВИТЬСЯ ОТ ПУСТЫХ СТРОК
Это необходимо для правильной записи матриала в cms
[поправлено модератором] | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 14:50)
| | Тогда убирайте полностью параграфы, в которых нет текста или есть | |
|
|
|
|
 49.6 Кб |
|
|
для: pautina
(24.02.2012 в 13:34)
| | вот скрин , смотрите....
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2012 в 14:50)
| | Да мне нужно найти способ, средствами php сделать так чтобы в строке содержащей html код между
</p>
<p>
не было пустой строки
для этого нужно или регулярное выражение или условие какое записывать.
вы говорите полностью параграфы убрать
<p> </p>
какую функцию для этого нужно использовать? | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 14:54)
| | Ну а в чем проблема-то, давайте, регулярным выражением удалим
<?php
$text = "Да мне нужно найти способ,
средствами php сделать так чтобы в
строке содержащей html код между
</p>
<p>
не было пустой строки
для этого нужно или регулярное
выражение или условие какое записывать.";
$pattern = "|</p>\s+<p>|is";
$replace = "</p><p>";
$text = preg_replace($pattern, $replace, $text);
echo htmlspecialchars($text);
?>
| PS Этот ответ появился позже, так как из первого сообщения не понял что нужно, из-за отвлекающего объемного кода. Лучше, где можно, вот так сообщения и формировать. Моментально ответ получите, так как эта задача не выглядит "пугающей" :))), перечитал сейчас первый пост, в этом дело и было, но как увидел огромный листинг, тут же тему со страху закрыл, думал разбираться долго нужно что и как :))). | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 15:00)
| | - Нужно удилить строку которая содержит такой код
<p> </p>
если встречается эта строка, то её полностью удаляем.
Как это можно описать?
- Или от вашего регулярного выражения отталкиваться но менять нужно
</p>
<p> </p>
<p align="center">
|
или
| |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 15:09)
| | Самое просто, это в два этапа произвести замену, сначала убрать при помощи str_replace() все строки "<p> </p>", а потом применить регулярное выражение. | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 15:15)
| | Как подкорректировать?
<?php
header('Content-type: text/plain; charset=utf-8');
$str = '<p> </p>
<p><strong>Финальное изображение:</strong></p>
<p> </p>
<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>
<p> </p>
<p>Дополнительные материалы можете скачать <a href="http://digitalartsonline.s3.amazonaws.com/DASEP11/TUTORIAL%205%20KERVIN.zip">здесь</a> .<br /><strong><em>Примечание:</em></strong><em> в некоторых шагах автор не указал настройки, которые использовал для корректирующих слоёв, стилей слоя поэтому, вам придётся поэкспериментировать с настройками.</em></p>
<p> </p>
<p><strong>Шаг 1. </strong>Откройте в Photoshop файл <strong>illus.psd, </strong>который находится в скачанном архиве. Этот файл имеет три базовых слоя: "linework", "ground", and "figure". Сделайте неактивным слой "ground", пока мы с ним работать не будем.</p>';
$str = str_replace('<p> </p>','', $str);
$pattern = "|</p>\s+<p>|is";
$replace = "</p><p>";
$str = preg_replace($pattern, $replace, $str);
//echo htmlspecialchars($str);
print_r($str); // получаем - Текст еще текст текст текст текст пробелы текст
?>
|
здесь $pattern = "|</p>\s+<p>|is"; меняем не только
</p>
<p>
но и
</p>
<p align="center">
и как записать что после закрывающегося тега должен быть преход строки | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 15:18)
| | Вот этот блок
$pattern = "|</p>\s+<p>|is";
$replace = "</p><p>";
|
замените следующим
$pattern = "|</p>\s+<p|is";
$replace = "</p><p";
|
| |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 17:07)
| | А как мне после закрывающегося тега параграфа сделать переход строки?
$str = str_replace('</p>','</p>"/n"', $str);
|
Так что то не идёт? | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 17:19)
| | А зачем двойные кавычки вокруг /n и почему /n, а не \n? | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 17:21)
| | смотрите и так не идёт
$str = str_replace('</p>','</p>\n', $str);
|
Как переход строки правильно описать? | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 17:24)
| | А что происходит? Вообще в Windows перевод строки \r\n. В браузере вы его, конечно, не увидите, так как там для этого используется специальный тэг <br /> - возможно вы его имеете в виду? | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 17:42)
| | В результате выполнения скрипта в браузере выходит html код в 1 строку без переходов строки
<p><strong>Финальное изображение:</strong></p>\r\n<p align="center"><img src="/images/lessons/les1661/1.jpg" alt="" width="450" height="623" /></p>\r\n ...
|
Здесь
$str = str_replace('</p>','</p>\r\n', $str);
|
(возможно это и правильный код,
если вместо '</p>\r\n' использовать '</p>любой английский символ-ы' то в браузере выводится
<p><strong>Финальное изображение:</strong></p>любой английский символ-ы ...,
для <br /> то же самое,)
нужно правильно описать переход строки для '</p>\r\n', чтобы его можно было увидеть в браузере? | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 17:47)
| | >нужно правильно описать переход строки для '</p>\r\n', чтобы его можно было увидеть в браузере?
Увидеть где, в исходном коде или прямо в браузере, т.е. вы хотите показать этот перевод пользователю? | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 18:05)
| | Увидеть нужно в исходном коде, в браузере не обязательно. (Так что ли, хотя как тогда изменённый код в скрипте проверить?) | |
|
|
|
|
|
|
|
для: pautina
(24.02.2012 в 17:47)
| | Попробуйте одиночные кавычки заменить двойными. | |
|
|
|
|
|
|
|
для: cheops
(24.02.2012 в 19:18)
| | Да все довольно просто
$str = str_replace('</p>',"</p>\r\n", $str);
|
По синтаксису как правильно писать в 2-х местах двойные кавычки или как в выше указано | |
|
|
|