![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem sobie taką funkcję:
Specialnie dodałem po jednej wartości do tablic. Działa on w ten sposób, że przy zastosowaniu funkcji zamienia mi np. [cokolwiek] na "echo 'cokolwiek'". Problem w tym, że preg_replace nie parsuje php i dlatego moje "echo 'cokolwiek'" pozostaje widoczne w kodzie (nawet jeżeli dodam <? i ?> to też je widać). Pomyślałem więc o eval. Zrobiłem wpierw tak:
Ale wtedy miałem parse error gdy kod zawierał np. normalny tekst czy tagi html. Pomyślałem więc o evaluowaniu samej tablicy zamień:
Ale też miałem byki, bo eval nie parsuje tablic. Zdecydowałem się na najwolniejszą z możliwości:
Teraz tekst jest parsowany, ale mam błędy w wynikach, ponieważ tekst zostaje parsowany ZANIM preg_replace go zamieni, czyli w rezultacie widzę "/1" zamiast "cokolwiek". Może zadanie trudne - ale jak sobie poradzić z tym, żeby preg_replace najpierw zamieniało, a potem TYLKO zamieniony tekst został parsowany? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
O to zleksza kiepsko. Czemu jest ten parse error? A nawet jeśli bym miał print(<div align='center');inculde('costam.html');print(</div>)"; to i tak include powino zadzialać, bo w końcu jest po średniku. Dzielenie pliku na części też nie ma sensu, bo jak znaczników będzie więcej i jak tagów też będzie więcej? Najlepszy sposób byłby taki, że po prostu parsowana byłaby jedynie zawartość zamienionego znacznika po zamianie, ale z tego co widzę nie ma takiej możliwości. Usunąć print też nie ma możliwości żeby nie było parse errora? Kurcze no tak nie może być... jest jakiś inny replacer prócz preg_replace? Albo mógłbym skorzystać z samego zamieniania na zmienne, gdyby nie to, że jeśli zrobię np. $zmienna = include('plik'); to nie zadziała. Fatalnie. Masz jakieś propozycje żeby te dwa znaczniki działały i się nie gryzło nic?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 04:15 |