У меня есть петля foreach php, в которой перечислены истории новостей, извлеченные из MySQL, так как часть цикла печатается, а затем под запросом выполняется, чтобы вытащить, а затем отобразить любые изображения, прикрепленные к история. Это упрощенная версия:Вставка результатов запроса в строку php во время цикла foreach
foreach ($res AS $row) {
printf('<p>%s</p>' . PHP_EOL, nl2br($row['story']));
$qry3 = "select * from tpf_images where news_id=".$row['news_id'];
$res3 = $pdo->query($qry3);
foreach ($res3 AS $row3) {
printf('<a href="/images/%s%s.jpg" rel="lightbox[%s]" title="%s. Photo Credit - %s" >
<img src="/images/%s%s-thumb.jpg" style="max-height: 250px; max-width: 250px" alt="%s"/></a>' . PHP_EOL, $row3['url'], $row3['alt'], $row['headline'], $str ,$row3['credit'], $row3['url'], $row3['alt'], $row3['alt']);
}
}
Это прекрасно работает, но означает, Вместо этого я пытаюсь добиться того, чтобы изображения были распечатаны как часть текста сюжета в начале каждого абзаца. История печатается с nl2br($row['story'])
, с использованием nl2br
абзац достигается с <br /><br />
. Так есть ли способ для PHP для сканирования nl2br($row['story'])
и если он находит <br /><br />
вставляет текст, я использую для Еогеасп изображения:
printf('<a href="/images/%s%s.jpg" rel="lightbox[%s]" title="%s. Photo Credit - %s" >
<img src="/images/%s%s-thumb.jpg" style="max-height: 250px; max-width: 250px" alt="%s"/></a>' . PHP_EOL, $row3['url'], $row3['alt'], $row['headline'], $str ,$row3['credit'], $row3['url'], $row3['alt'], $row3['alt']);
Таким образом, изображения будут отображаться в тексте, а Thn под ним. Если в результате получилось больше изображений, чем <br /><br />
, остальные изображения будут распечатаны после истории, как раньше.
Спасибо за любую помощь в этом, как я полностью тупик (также, не был уверен, что название должно быть так, что может быть отредактирован, чтобы лучше удовлетворить в случае необходимости)
EDIT: попытаться сделать вопрос яснее, nl2br($row['story'])
найти <br /><br />
. Если будет установлено, что заменяется <br /><image><br />
с проецирование изображения, код я использую для отображения изображений, который является:
<a href="/images/%s%s.jpg" rel="lightbox[%s]" title="%s. Photo Credit - %s" >
<img src="/images/%s%s-thumb.jpg" style="max-height: 250px; max-width: 250px" alt="%s"/></a>' . PHP_EOL, $row3['url'], $row3['alt'], $row['headline'], $str ,$row3['credit'], $row3['url'], $row3['alt'], $row3['alt']
Так что вы хотите сделать, это собрать все изображения, а затем сделать петлю, что найти и заменяющий
тег с
? – nycynik
да, в основном. – user2574794
проверить мой обновленный ответ. – OneOfOne