|
|
|
| ребят помогите плиз с такой проблемой
вообщем в переменной может быть текст с тегами картинок
<img title="заголовок" src="image.jpg" alt="заголовок" width="220" height="147" />
текст балабалаба
<img title="заголовок2" src="image2.jpg" alt="заголовок2" width="220" height="147" />блабала ...
|
как сделать что бы в тексте все картинки поменяло с таког овида как выше
на такой как ниже
<a href="image.jpg" rel="single" class="pirobox" title="заголовок">
<img src="image.jpg" alt="заголовок" width="220" height="147" /></a>
балалбалалбалал. ... балалбалаа
<a href="image2.jpg" rel="single" class="pirobox" title="заголовок2">
<img src="image2.jpg" width="220" height="147" /></a>
блаблабла....
|
| |
|
|
|
|
|
|
|
для: TavRoX
(14.08.2012 в 01:09)
| | Лучше сразу ориентироваться на функцию preg_replace_callback(). Искать по выражению <img[^>]+>, а в функции обратного вызова уже препарировать полученный img-тэг и формировать замену (можно при помощи новых регулярных выражений). | |
|
|
|
|
|
|
|
для: cheops
(14.08.2012 в 05:52)
| | это для меня взрыв мозга( | |
|
|
|
|
|
|
|
для: TavRoX
(14.08.2012 в 01:09)
| | Поробуйте так:
<?php
$s = '<img title="заголовок" src="image.jpg" alt="заголовок" width="220" height="147" />
текст балабалаба
<img title="заголовок2" src="image2.jpg" alt="заголовок2" width="220" height="147" />блабала ...';
$pattern = '#<img.*?title="([^"]+).*?src="([^"]+)([^>]+>)#si';
$replace = "<a href=\"$2\" rel=\"single\" class=\"pirobox\" title=\"$1\"><img src=\"$2$3</a>";
$s = preg_replace($pattern,$replace,$s);
echo $s;
?>
|
P.S. Умер винт с апачем, поэтому проверить не на чем. Пишу из головы. | |
|
|
|
|
|
|
|
для: Sfinks
(16.08.2012 в 21:29)
| | спасибо, на днях проверю. сейчас не дома( | |
|
|
|
|
|
|
|
для: Sfinks
(16.08.2012 в 21:29)
| | аааааааааааа дружище спасибо большое
а можно попросит ьесли вы разбираетесь в javascript изменить подобное
этот скрипт делает все ролики ютуба так что бы всплывающие окошки были над ними.
как можно такое сделат ьна php? коды роликов висят в переменной
function fix_flash() {
// loop through every embed tag on the site
var embeds = document.getElementsByTagName('embed');
for(i=0; i<embeds.length; i++) {
embed = embeds[i];
var new_embed;
// everything but Firefox & Konqueror
if(embed.outerHTML) {
var html = embed.outerHTML;
// replace an existing wmode parameter
if(html.match(/wmode\s*=\s*('|")[a-zA-Z]+('|")/i))
new_embed = html.replace(/wmode\s*=\s*('|")window('|")/i,"wmode='opaque'");
// add a new wmode parameter
else
new_embed = html.replace(/<embed\s/i,"<embed wmode='opaque' ");
// replace the old embed object with the fixed version
embed.insertAdjacentHTML('beforeBegin',new_embed);
embed.parentNode.removeChild(embed);
} else {
// cloneNode is buggy in some versions of Safari & Opera, but works fine in FF
new_embed = embed.cloneNode(true);
if(!new_embed.getAttribute('wmode') || new_embed.getAttribute('wmode').toLowerCase()=='window')
new_embed.setAttribute('wmode','opaque');
embed.parentNode.replaceChild(new_embed,embed);
}
}
// loop through every object tag on the site
var elementToAppend = document.createElement('param');
elementToAppend.setAttribute('name', 'wmode');
elementToAppend.setAttribute('value', 'opaque');
var objects = document.getElementsByTagName('object');
for (var i = 0; i < objects.length; i++) {
var newObject = objects[i].cloneNode(true);
elementToAppend = elementToAppend.cloneNode(true);
newObject.appendChild(elementToAppend);
objects[i].parentNode.replaceChild(newObject, objects[i]);
}
}
window.onload = fix_flash;
|
| |
|
|
|
|
|
|
|
для: TavRoX
(17.08.2012 в 00:23)
| | эт не ко мне. | |
|
|
|
|
|
|
|
для: TavRoX
(17.08.2012 в 00:23)
| | РНР не занимается "всплывающими окошками над...", он вообще не имеет представления об окошках и прочем на странице. | |
|
|
|
|
|
|
|
для: confirm
(17.08.2012 в 06:40)
| | пхп скриптом извенить в переменной код видео вставив нужные параметры и т.д. | |
|
|
|