|
|
|
| Как можно загрузить содержимое любой html странички, только без тегов, чтоб остался чистый текст.
ЗЫ. мне надо для изменения содержимого, потом сохранения в том же файле.
Возможно это сделать? | |
|
|
|
|
|
|
|
для: rautate
(22.11.2006 в 11:40)
| | Точно не на JS или HTML... Если загрузить, немного пошаманив, в textarea еще возможно, то сохранять надо через cgi/PHP и тп. | |
|
|
|
|
|
|
|
для: rautate
(22.11.2006 в 11:40)
| |
<html>
<title>***</title>
<head>
<script>
var Obj={
Init: function(d,t,s)
{
this.frameDoc = d;
this.textArea = t;
this.tagsName = s;
this.a = [];
this.i = 0;
this.textArea.value='';
},
Start: function(x)
{
this.a = [];
this.i = 0;
if(!x.value)return;
this.searchText = new RegExp(x.value);
with(this)
{
recurs(frameDoc.documentElement);
alert('найдено '+a.length);
if(a.length)
{
textArea.value=a[i].data;
tagsName.innerHTML=(i+1)+'/ '+a[i].parentNode.tagName;
}
}
},
Replace: function()
{
with(this)
{
var obj = frameDoc.createTextNode(textArea.value);
if(a[i])
{
try
{
a[i].parentNode.replaceChild(obj,a[i]);
a[i] = obj;
}catch(e){}
}
}
},
Back: function()
{
with(this)
{
if(i<=0){tagsName.innerHTML='>>>';return;}
textArea.value = a[--i].data;
tagsName.innerHTML = (i+1)+'/ '+a[i].parentNode.tagName;
}
},
Forward: function()
{
with(this)
{
if(i>=a.length-1){tagsName.innerHTML='<<<';return;}
textArea.value = a[++i].data;
tagsName.innerHTML = (i+1)+'/ '+a[i].parentNode.tagName;
}
},
Submit: function(formObj)
{
formObj.elements['pageUrl'].value = this.frameDoc.location.href;
formObj.elements['pageSource'].value = '<html>'+this.frameDoc.documentElement.innerHTML+'</html>';
formObj.submit();
},
recurs: function(obj)
{
with(obj)
{
var parent = parentNode.nodeName;
if(nodeType == 3 && parent != 'STYLE' && parent != 'SCRIPT' && parent != 'NOSCRIPT')
{
var text = obj.data;
if(/\S/.test(text) && this.searchText.test(text))this.a.push(obj);
}
if(firstChild)this.recurs(firstChild);
if(nextSibling)this.recurs(nextSibling);
}
}
}
</script>
</head>
<body>
<iframe src="about:blank" width="100%" height="200px" onload="Obj.Init(frames[0].document,document.forms[0].elements[2],document.getElementById('tagName'))"></iframe>
<span id="tagName">...</span><br>
<form>
<!0><input type="button" value="get textNode with..." onclick="Obj.Start(this.form.elements[1])">
<!1><input type="text"><br>
<!2><textarea cols="70" rows="5"></textarea><br>
<!3><input type="button" value="open from url:" onclick="frames[0].location.replace(this.form.elements[4].value)">
<!4><input type="text">
<!5><input type="button" value="Replace" onclick="Obj.Replace()">
<!6><input type="button" value="<<<" onclick="Obj.Back()">
<!7><input type="button" value=">>>" onclick="Obj.Forward()">
<!8><input type="button" value="Submit" onclick="Obj.Submit(document.forms[1])">
</form>
<form action=".../my.php" method="post" enctype="text/plain">
<input type="hidden" name="pageUrl">
<input type="hidden" name="pageSource">
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: rautate
(22.11.2006 в 11:40)
| |
// функция на PHP -- возвращает html код странички
function getHtmlCodeFromUrl($url)
{
ob_start();
include($url);
$str = ob_get_contents();
ob_end_clean();
return $str;
}
|
а дальше можно воспользоваться striptags(), но она не вычистит все теги, поэтому поищите что нибудь на 100% действующее или сделайте свое регулярное выражение | |
|
|
|