Aizstājam vai izmainām izvadāmo kodu izmantojot javascript

Veidojot vienu lapu radās neikdienišķa situācija- bija nepieciešams izmainīt jau php izveidoto kodu un aizstāt to ar citu, ja izvadītajā html kodā ir sastopams cits unikāls kods.

Kā vienīgais risinājums man ienāca prātā javascript.

Iespējams kādam tas liksies gaužām vienkārši, tomēr man, kas ir “uz jūs” ar javascript izveidot šīs pāris rindiņas bija diezgan ķepīgi un laikietilpīgi.

Nu tad, lūk, pati funkcija un paskaidrojumi:

<script type="text/javascript">

//izsaucam funkciju pie ielādes

window.onload=gethtml;

function gethtml() {

//mainīgajam str nododam visas lapas html kodu

var str = document.body.innerHTML;

str.toString();

//pārbaudām vai ielasītajā mainīgajā str ir kods, kas nozīmēs, ka ir jāaizstāj rinda ar citu

var matchPos1 = str.search("id_menu_3_3");

//paskatāmies iegūto rezultātu- funkcija atgriež vērtību -1 , ja tas nav sastopams. Pretējā gadījumā atgriež kurā vietā ir atrasts.

if(matchPos1 != -1){

//mainīgajā str1 ierakstām tekstu, kuru ir jāaizstāj

var str1 = '<a href="/test/index.php/d">';

//mainīgajā str2 irakstām tekstu, ar kuru ir jāaizstāj

var str2 = '<a href="/test/index.php/d">';

veicam aizvietošanu

var str3 = str.replace(str1,str2);

//ja ir nepieciešams testa pēc pārbaudām vai ir aizvietojies

//alert(str3);

//izvadām rezultātu

document.body.innerHTML = str3;

}

//ja meklējamais kods nav atrasts, tad nedaram neko

}

</script>

Protams, aizvietošana nenotiks, ja pārlūkā būs atslēgts javascript :).

Šo funkciju, nedaudz pamainot, var pielāgot daudz biežāk sastopamai situācijai, kad nepieciešams vienkārši aizstāt vienu rindu ar otru.

Leave a Reply