Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
lomakin
3 / 3 / 2
Регистрация: 18.12.2015
Сообщений: 189
1

Preg_replace + foreach

25.12.2017, 11:01. Просмотров 436. Ответов 4
Метки нет (Все метки)

Добрый день
Не работает preg_replace внутри foreach
подскажите пожалуйста где ошибка.
Чистим массово описание товаров от мусорных тегов

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$handle = fopen("in.csv", "r");
$row = 1;
$tovar = array();
 
while (($data = fgetcsv($handle, 1000, ";",'"','"')) !== FALSE) {
    $num = count($data);
    foreach($data as $a_product) {
        $tovar['_ID_'] =  $data[0];
 
        $pattern = '/<img\b[^<]*>(*SKIP)(*F)|<([a-z][a-z0-9]*)[^>]*​*?(\/?)>/i';
        $replacement = '<$1$2>';
        $g = preg_replace($pattern, $replacement,$data[1]);
 
        $tovar['_DESCRIPTION_'] =  $g;
    }
    $articles[] = $tovar;
 
    $row++;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2017, 11:01
Ответы с готовыми решениями:

Foreach внутри foreach
Посетители сайта видят список альбомов в мозаичном виде по 3 альбома в ряд, 12 альбомов на...

Preg_replace
Дело в том что я заменяю :001: на &lt;img src='https://orange-paradise.net/smiles/002.gif'&gt;. Но почему...

preg_replace()
Здравствуйте. Вот код: $xxx=preg_replace(&quot;&lt;&quot;.$i.&quot;&gt;&quot;,&quot;IMG SRC=image/&quot;.$i.&quot;.jpg&quot;,$xxx); i...

Preg_replace (\r\n,\n,\r)
Есть текст в переменной допустим $text: Текст*далее куча пробелов*потом опять текст а далее,...

Preg_replace
Приветствую! Такое дело: Есть регулярка, которая сравнивает два поля и удаляет повтор строки...

4
ytf
237 / 257 / 184
Регистрация: 15.08.2017
Сообщений: 1,483
25.12.2017, 16:52 2
приложите файл in.csv и укажите от каких тегов хотите избавиться

тогда ваши шансы получить ответ увеличатся
0
lomakin
3 / 3 / 2
Регистрация: 18.12.2015
Сообщений: 189
25.12.2017, 17:18  [ТС] 3
ytf, Хочу избавится от всех атрибутов кроме src в img и iframe
Простите вечно путаю атрибуты с тегами. Уже такое за собой замечаю 4 года
0
Вложения
Тип файла: rar in.rar (74.6 Кб, 2 просмотров)
lomakin
3 / 3 / 2
Регистрация: 18.12.2015
Сообщений: 189
25.12.2017, 17:42  [ТС] 4
Вот решение

PHP
1
2
  $gps = preg_replace('/<iframe\b[^<]*>(*SKIP)(*F)|<([a-z][a-z0-9]*)[^>]*?(\/?)>/i','<$1$2>', $data[1]);
        $tovar['_DESCRIPTION_'] =  $gps;
0
ytf
237 / 257 / 184
Регистрация: 15.08.2017
Сообщений: 1,483
25.12.2017, 18:01 5
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$e=file_get_contents("in.csv");
preg_match_all("/\<(img|iframe)[^\>]+\>/simU",$e,$m);
$zn=[];
$zn2=[];
foreach ($m[0] as $j=>$ma) {
    if (preg_match("/src[\s]*\=[\s]*\"\"([^\"]*)\"\"/simU",$ma,$ty) OR preg_match("/src[\s]*\=[\s]*\'([^\']*)\'/simU",$ma,$ty)) $src=' src=""'.$ty[1].'""';
    else $src='';
    if (substr($ma,-2,1)=='/') $b='/'; else $b='';
    $za='<'.$m[1][$j].$src.$b.'>';  
    $zn[]=$ma;
    $zn2[]=$za;
}
$e = str_replace($zn,$zn2,$e);
file_put_contents("out.csv",$e);
0
25.12.2017, 18:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2017, 18:01

Preg_replace
http:\/\/uploads.net\/598000\/598087.swf Нужно что бы было вида обычной ссылки...

Не работает preg_replace
$route = '{controller}/{action}'; $route = preg_replace('/\//', '\\/', $route); $route =...

Preg_replace - ошибка
В чем тут ошибка preg_replace(&quot;/(page-\d{1,}/)/i&quot;, &quot;&quot;, &quot;/search/page-2/&quot;) ? Warning:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.