PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (16): В начало « ... 8 9 10 11 12 13 14 [15] 16 »

> Найдено сообщений: 239
LShark Отправлено: 09 Декабря, 2012 - 10:42:51 • Тема: Отображение скрипта на сайте • Форум: Вопросы новичков

Ответов: 10
Просмотров: 282
Уточни алгоритм.
т.е. ты хочешь, чтобы скрипт РАБОТАЛ только на определенных серверах, а если его попытаться запустить на другом сервере, он бы не срабатывал?
LShark Отправлено: 09 Декабря, 2012 - 10:37:49 • Тема: Повторяющиеся значения для preg_replace. Как удалить? • Форум: Вопросы новичков

Ответов: 10
Просмотров: 540
Извиняюсь, если уже достал, но еще один вопрос.

Есть большой HTML, который создается вордом (увы, это единственный способ объяснить нашим старикам, как добавить файл на сервер).

Я очищаю его от 99% мусора, но остается еще одно:

CODE (html):
скопировать код в буфер обмена
  1. <p>Текст</p><p>Еще текст</p><p>Куча текста</p><p>Еще абзац</p><p>Еще абзац2</p><p>Еще абзац3</p>


В результате после очистки я получаю разреженное отображение текста:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Текст
  2.  
  3. Еще текст
  4.  
  5. Куча текста
  6.  
  7. Еще абзац
  8.  
  9. Еще абзац2
  10.  
  11. Еще абзац3


А надо
CODE (htmlphp):
скопировать код в буфер обмена
  1. Текст
  2. Еще текст
  3. Куча текста
  4. Еще абзац
  5. Еще абзац2
  6. Еще абзац3


Попробовал просто заменить все </p><p> на <br> - почти хорошо получилось, НО!
Время от времени встречается <p align=center> и после такого обрезания на <br> все, что ниже тега center тоже начинает центрироваться.

Попытался так:
заменяю
<p>([^align=]*?)</p><p>
на
<p>\\1<br>

Получаю - часть обрабатывается, как надо, но часть вообще не обрабатывается.
Если такую зачистку провести несколько раз (3-4), то почти все, как надо, но все таки, может есть более простое выражение, чтобы получалось из:


CODE (html):
скопировать код в буфер обмена
  1. <p>Текст</p><p align=center>Еще текст</p><p>Куча текста</p><p>Еще абзац</p><p>Еще абзац2</p><p>Еще абзац3</p>


CODE (html):
скопировать код в буфер обмена
  1. <p>Текст</p><p align=center>Еще текст</p><p>Куча текста<br>Еще абзац<br>Еще абзац2<br>Еще абзац3</p>
LShark Отправлено: 09 Декабря, 2012 - 08:55:12 • Тема: Плдскажите регулярное выражение, пожалуйста. • Форум: Вопросы новичков

Ответов: 0
Просмотров: 70
Во время обработки файла, создаваемого из вордовского документа, возникает проблема очистки его от всякой пакости.

Возникла необходимость убрать все мелкосовтовские классы через preg_replace (массивом).

Выглядят они так:
class=MSO{тут разные варианты}
Удалить надо все эти варианты, которые завершаются либо на пробел, либо на >

Например:
<p class=MsoNormal align=center style='text-align:center'> < тут надо удалить до пробела перед align
<p class=MsoGridNormal> < тут надо удалить до ">"

Предполагаю, что
class=Mso.*?{но что вот тут, чтобы удаляло до первого из вариантов - или до > или до пробела}
(Добавление)
Сори, уже решил, своих мозгов хватило.

"' class=.*?( |>)'si",
заменяю на
"\\1",
LShark Отправлено: 09 Декабря, 2012 - 08:42:44 • Тема: Как открыть ссылку как _blank ? • Форум: HTTP и PHP

Ответов: 2
Просмотров: 992
Добавь к ссылке атрибут target="_blank"

Например:

<a href="Ссылка" target="_blank">
LShark Отправлено: 08 Декабря, 2012 - 17:30:07 • Тема: Какая это кодировка и как ее переконвертить в UTF-8? • Форум: Кодировки и все смежное

Ответов: 7
Просмотров: 2763
Разобрался. Пришлось поменять порядок декодирования.

$file_data = html_entity_decode(iconv($encode, "UTF-8", str_ireplace($encode, "UTF-8", $data)),ENT_NOQUOTES,'UTF-8');

Теперь все срабатывает отлично.
LShark Отправлено: 08 Декабря, 2012 - 16:50:15 • Тема: Какая это кодировка и как ее переконвертить в UTF-8? • Форум: Кодировки и все смежное

Ответов: 7
Просмотров: 2763
ОТОБРАЖАЕТСЯ все правильно, но при просмотре ИСХОДНОГО текста HTML страницы - все те же шестизначные.
(Добавление)
LIME пишет:
странно
но кодировку надо указать полюбому

Пытался подставлять cp1251, UTF-8 - ни фига. В исходниках - все теже шестисимвольные комплексы.
(Добавление)
Хм... При прямой перекодировке СТРОКИ, состоящей ТОЛЬКО из этих кодов - все срабатывает. Но если так обрабатываю ВЕСЬ документ (со всеми тегами и прочим) - текст не меняется...
(Добавление)
Получаю
CODE (htmlphp):
скопировать код в буфер обмена
  1. ГоС&#129;С&#402;дашС&#129;твенР
LShark Отправлено: 08 Декабря, 2012 - 15:42:35 • Тема: Какая это кодировка и как ее переконвертить в UTF-8? • Форум: Кодировки и все смежное

Ответов: 7
Просмотров: 2763
Хм...
Попытка
PHP:
скопировать код в буфер обмена
  1. echo html_entity_decode("&#1058;&#1080;&#1087;&#1086;&#1074;&#1099;&#1077;",ENT_NOQUOTES) ;


Выдает на выходе
CODE (htmlphp):
скопировать код в буфер обмена
  1. &#1058;&#1080;&#1087;&#1086;&#1074;&#1099;&#1077;


Что то делаю не так?
(Добавление)
Имею ввиду - в исходном тексте страницы остаются все те же комбинации. Выводится на экран, естестенно, русский текст.
LShark Отправлено: 08 Декабря, 2012 - 15:24:11 • Тема: Какая это кодировка и как ее переконвертить в UTF-8? • Форум: Кодировки и все смежное

Ответов: 7
Просмотров: 2763
При парсинге старых документов WORD, он сохраняет русский текст в таком виде:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <title>&#1058;&#1080;&#1087;&#1086;&#1074;&#1099;&#1077; &#1092;&#1086;&#1088;&#1084;&#1099; &#1085;&#1072;&#1088;&#1091;&#1096;&#1077;&#1085;&#1080;&#1081; &#1080;&#1084;&#1084;&#1091;&#1085;&#1080;&#1090;&#1077;&#1090;&#1072; &#1074; &#1087;&#1086;&#1083;&#1086;&#1089;&#1090;&#1080; &#1088;&#1090;&#1072;</title>


Отображает верно, внутри есть такая строка:
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">

Сами понимаете, 300 килобайтный документ из-за этого становится почти в 6 раз больше, что не радует.

Для перекодирования из более новых сохранений (а там win1251) используется следующее:
$file_data = iconv($encode, "UTF-8", str_ireplace($encode, "UTF-8", $data));
где $encode - кодировка из:
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">

Но при такой перекодировке не превращается в однобуквенный аналог русской буквы. Как переконвертить?
LShark Отправлено: 06 Декабря, 2012 - 16:50:24 • Тема: Выбрать из большого текста все ссылки на картинки. Как? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 454
Отлично сработало.

Если варианты такие:

<img src="имя файла" width
=XXX height=YYY>

<img src="имя файла1" width=XXX1
height=YYY>

<img src="имя файла3" width=XXX2 height=YYY>

<img src="имя файла2" width=XXX height=YYY>

<img src="имя файла4" width=XXX height=YYY>

То мой вариант почему то находит только 3 последних. А первые 2 - нет.

(Добавление)
Кстати, а почему?

Нашел проблему. /<img .*?>/si
(Добавление)
Подскажите еще такую вещь - можно ли в этот поиск добавить маски, чтобы выделить значения width и height ?

Т.е. например:
<img src=имя width=200 height=300>
200
300
<img src=имя width="246" height="420">
246
420

&
LShark Отправлено: 06 Декабря, 2012 - 16:42:56 • Тема: Выбрать из большого текста все ссылки на картинки. Как? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 454
Заменил на
preg_match_all('/<img src=.*?>/', $tmall_content, $result, PREG_PATTERN_ORDER);

Получил, что надо... Есть еще моги... хоть и мало.
LShark Отправлено: 06 Декабря, 2012 - 16:32:53 • Тема: Выбрать из большого текста все ссылки на картинки. Как? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 454
Работает.
Немного сложнее, чем мне бы хотелось Улыбка

Твой код идеально вырывает имя файла. Но мне желательно немного другое.

Мне нужно было, чтобы в массиве были ссылки целиком - т.е. <img src=имя.файла прочие теги>

Ибо текст состоит из кучи кода, а необходимо выбрать только картинки.

ЗЫ. Никогда регульрные выражения не будут моим любимым занятием Недовольство, огорчение
LShark Отправлено: 06 Декабря, 2012 - 15:43:37 • Тема: Выбрать из большого текста все ссылки на картинки. Как? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 454
Joo пишет:
PHP:
скопировать код в буфер обмена
preg_match_all('/(?<=<img[^<>]+src=")[^"]+/', $tmall_content, $result, PREG_PATTERN_ORDER);for ($i = 0; $i < count($result[0]); $i++) {        # Matched text = $result[0][$i];}

Хм... Уверен?

Что то у меня выдает ошибку:
preg_match_all() Compilation failed: lookbehind assertion is not fixed length at offset 19
LShark Отправлено: 06 Декабря, 2012 - 15:04:39 • Тема: Выбрать из большого текста все ссылки на картинки. Как? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 454
Есть большой документ, в который внедрено множество картинок.
Тип стандартный: <img src=имя файла width=XXX height=YYY>

Есть ли функция, позволяющая выбрать, например, в массив, ВСЕ ссылки на картинки?

Нашел, например,

$spll = preg_split("/<.*?>/",$data,-1);

В результате получаю ВЕСЬ текст в массиве, а не только картинки. Подскажите, как можно сделать, чтобы получился массив, содержащий ТОЛЬКО ссылки на картинки?

Т.е. чтобы в массиве были:

0 > <img src=имя файла width=XXX height=YYY>
1 > <img src=имя файла1 width=XXX1 height=YYY>
2 > <img src=имя файла3 width=XXX2 height=YYY>
3 > <img src=имя файла2 width=XXX height=YYY>
4 > <img src=имя файла4 width=XXX height=YYY>
LShark Отправлено: 05 Декабря, 2012 - 21:31:41 • Тема: Создание PDF из двух EPS на скрипте • Форум: Вопросы новичков

Ответов: 2
Просмотров: 99
Хм... А обящательно PDF?
Я, когда было надо, просто генерировал картинку через GDI
Фоном брал одну картинку (у вас это будет картинка-"открытка")
Поверх наслаивал текст через PHP.

Далее можно получить 200 картинок под каждый код свою...
LShark Отправлено: 05 Декабря, 2012 - 21:07:12 • Тема: IMG SRC в html-файле. Как изменить Width и убрать Height? • Форум: Вопросы новичков

Ответов: 11
Просмотров: 418
isvetlichniy пишет:
пробуй вот такую комбинацию (высоту свою поставь)

Увы, необходимо, чтобы пропорции картинок были сохранены. Т.е. если картинка будет 300х9000, то высота в 9000 - нормально.

В идеале, конечно, просто удалить теги Height, но моих знаний в регулярных не хватает, а курить мануалы не получается.

Подскажите регулярное выражение для прег-реплейса, удаляющее следующие варианты тегов height - болдом то, что наду удалить:
height="ххх" src=путь к файлу (ххх - цифры)
height=ххх src=путь к файлу
src=путь к файлу height="ххх">
src=путь к файлу height=ххх>

Упс, забыл еще 2 варианта:
height="ххх"
src=путь к файлу (т.е. в 2 строки, после " нет пробела и перед src нет пробела)
height=ххх
src=путь к файлу (аналогично - 2 строки)

Пытался через
height=.*?( >)
но тогда кастрирует все до следующего ">", т.е. первые 2 варианта не срабатывают.
(Добавление)
Правильно ли получится:
1 чистка:
height=.*?[(\r\n) ] - замена на '' (убираются варианты, когда после тега height идет перенос строки или пробел
2 чистка:
height=.*?> - заменяем на > (убирается тег height, закрывающий картинки)

Понимаю, что коряво, но на больее меня пока не хватило.
(Добавление)
Ну и еще прикол - тупой осел такой тупой, мля...
IE8 - да, по стилям обрезает размер картинки по ширине, но СТРАНИЦУ отображает, как будто ширина все еще офигенная (т.е. тупо слева остается широченное поле).

Ну и он единственный уроде, который тег height="" воспринимает как height="1", а не как отсутствие тега...

Страниц (16): В начало « ... 8 9 10 11 12 13 14 [15] 16 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB