stattinMedlem sedan jan. 2005713 inlägg 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.
Nån som kan?
/stattin
Peter SMedlem sedan dec. 20025 483 inlägg <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>
stattinMedlem sedan jan. 2005713 inlägg Tack för det extremt snabba svaret :bire
Känns som att jag inte ens var i närheten av en lösning..
mvh
/stattin
stattinMedlem sedan jan. 2005713 inlägg Nu har jag en fråga till om samma 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..
Peter SMedlem sedan dec. 20025 483 inlägg for (var i = 0; i < s; ++i){
if (!/\b(försvinna)\b/i.test(a[i])
&& /(\bbort\b.*?\btrots\b)|(\btrots\b.*?\bbort\b)/i.test(a[i])){
r.push(a[i]);
}
}
stattinMedlem sedan jan. 2005713 inlägg Denna funka inte alls:
/(\bbort\b.*?\btrots\b)|(\btrots\b.*?\bbort\b)/i.test(a[i])
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]); }}}
Som sagt fick det inte att funka.
Tack för att du tar dig tid..
mvh / stattin
edit:
Just ja.. varför ser dessa två olika ut?
!/bb/i.test(a[i])
och
!/\b(försvinna)\b/i.test(a[i])
Peter SMedlem sedan dec. 20025 483 inlägg Vi glömmer det tidigare ;)
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]);
}
}
stattinMedlem sedan jan. 2005713 inlägg suck. det går inge bra.
Fick inte det att funka alla fall..
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
Peter SMedlem sedan dec. 20025 483 inlägg 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>");
stattinMedlem sedan jan. 2005713 inlägg Ah.. nu har jag fått ordning på det.. tack vare dig då.
En sista fråga:
Du vet ingen bra sida där man kan lära sig om Reg Exp?
För övrigt, tusen gånger tack för all hjälp.
:bire
mvh
/stattin
Peter SMedlem sedan dec. 20025 483 inlägg stattinMedlem sedan jan. 2005713 inlägg