Kom inte på någon bättre rubrik.. jaja så här lyder problemet:
<form name="f">
<textarea rows="5" name="box" cols="54">hej a men | hej BB
det | hej a kan | hej a vara | hej a olika | hej a texter | hej a i | hej a varje | hej a split | hej a som | hej BB ni | hej a kanske | hej BB ser |
</textarea></p>
</form>
<script language="javascript">
myString = new String(document.f.box.value)
splitString = myString.split('|')
for (i=0;i<splitString.length;i++)
{g="splitString["+i+"]"
if(g.match(/[bb]/m))
{alert("hitta")}
else
{alert("grönt")} }
//-->
</script>
Som ni ser så splitar jag upp texten som finns i textarean. Men nu
är det så att jag skulle vilja söka genom varje split efter BB. Jag
har försökt lite själv som ni kan se.. men utan några lyckade försök.
Sen undrar jag också man kan skriva ut (document.write) texten
ur textarean igen men då ska alla splits som innehåller BB vara
bortaget.
<script type="text/javascript">
var a = document.forms["f"].elements["box"].value.split(/\|/),
s = a.length,
r = [];
for (var i = 0; i < s; ++i){
if (!/bb/i.test(a[i])){
r.push(a[i]);
}
}
document.write(r.join('|'));
</script>
<script type="text/javascript">
text="den ska bort | denna ska inte bort trots att den innehåller bort | denna ska också försvinna"
var a = text.split(/\|/),
s = a.length,
r = [];
for (var i = 0; i < s; ++i){
if(!/bort/i.test(a[i]))
{ r.push(a[i]);} }
document.write(r.join('|'));
</script>
Hur skriver jag om alla split med ordet "bort" och "försvinna" skall tas bort men dom splits som innehåller "bort" och "trots" ska vara kvar.
Jag har provat lite olika men inte fått det att funka..
Du skrev if satsen med && tecken, det måste ju bli lite fel
eftersom den då söker efter båda samtidigt.. jag försökte
åstadkomma något sånt här men fick det ej att funka, kom fram
till att det just var kod snutten ovanför som fela..
Det jag försökte åtsadkomma:
for (var i = 0; i < s; ++i){
if(/(\bbort\b.*?\btrots\b)|(\btrots\b.*?\bbort\b)/i.test(a[i]))
else {
if(!/trots/i.test(a[i]))
{ r.push(a[i]); }}}
for (var i = 0; i < s; ++i){
if ((/\bbort\b/i.test(a[i]) && /\btrots\b/i.test(a[i]))
|| (/(^((?!\bbort\b).)*$)/i.test(a[i]) && /(^((?!\bförsvinna\b).)*$)/i.test(a[i]))){
r.push(a[i]);
}
}
Det jag håller på med att bygga är ett script som ska sortera bort
valda auktioner från tradrera som jag inte vill se, eftesom tradera
inte har en sådan funktion själv.
Så här ser scriptet ut:
<script type="text/javascript">
site = get('http://www.tradera.com/category/auctionlist_catid_3009')
function get(url){
var httprequest=(typeof(ActiveXObject)=="function")?new ActiveXObject("Msxml2.XMLHTTP"):(typeof(XMLHttpRequest)=="object")?new XMLHttpRequest():null;
if(httprequest){
httprequest.open("GET",url,false);
httprequest.send(null);
return(httprequest.responseText);
}
return null;
}
var a = site.split(/\<td>/),
s = a.length,
r = [];
for (var i = 0; i < s; ++i){
if(????){ // här är det stopp...
r.push(a[i]);
}
}
text='<td>'
document.write('<base href="http://www.tradera.com">'+r.join(text)+'');
</script>
Dom auktioner jag vill ta bort heter i stil med spelyndet,
retrosuperstore.. med mera.. varför vill jag ta bort dom då? jo för
att dessa företag pumpar in auktioner så alla små privata
auktioner försvinner i mängden.
Allt funka bra förutom att när man kommer till den sista auktionen
om den nu skulle just heta spelfyndet då försvinner den men
även lite annan text som jag vill ha kvar.
Så här kan det se ut: (i scriptet så splitar jag ju vid varje <td>)
<td> //split
<länkar><bilder><kod>Spelfyndet</td><bla> //tas bort
<td> //split
<länkar><bilder><kod>Privat auktionn</td><bla> //stannar kvar
<td> //split (Sista auktionen)
<länkar><bilder><kod>Spelfyndet</td><bla> //tas bort
<massa annankod som jag vill ha kvar> //tas bort (fast jag vill ha kvar)
<mera kod> //tas bort (fast jag vill ha kvar)
<td> //Split
var e = site.match(/<tr bgcolor="#((e9e9e9)|(ffffff))">(.|\n|\r)*?<\/tr>/gi),
f = ["www", "spelfyn", "retrosu"];
document.write("<table border='1'>");
outer:
for (var i = 0; i < e.length; ++i){
for (var j = 0; j < f.length; ++j){
if (new RegExp(f[j], "i").test(e[i])){
continue outer;
}
}
document.write(e[i]);
}
document.write("<\/table>");