2014-03-25 70 views
0

我有一個日曆應用程序,其中日曆每個頁面顯示一個月,每個月都有導航。在PHP中將相對URL更改爲絕對值包括

我想在我們的模板中包含此日曆。我可以輕鬆地使用PHP包含。

但是,在iframe中,日曆使用相對鏈接到達其他月份。我需要將這些設置爲絕對鏈接。

我想知道如果我可以使用JavaScript或PHP函數來替換鏈接,但在內含?

日曆本身是用Perl編寫的,並從我們的cgi-bin運行。它是利用

<?php include('http://pps.servername.edu/cgi-bin/calendarappname/calendar.pl?Op=ShowIt&CalendarName=thename'); ?> 

在日曆上,我想改變的鏈接包括出現這樣

<a href="Calendar.pl?CalendarName=nameofcalendar&amp;Op=ShowIt&amp;Amount=Month&amp;NavType=Absolute&amp;Type=Block&amp;Date=2014%2F3%2F1">2014</a> 

我想這樣做一個字符串替換或preg_replace函數,但我不知道會是什麼工作,因爲要更改的URL出現在PHP包含中。

+0

您需要更改日曆應用程序中的鏈接,而不是包含路徑。你需要改寫你的問題。 – developerwjk

+0

我無法改變日曆應用程序中的路徑,至少不是原生的。我希望在加載包含時動態更改鏈接。 – LisaH

+0

@LisaH我認爲有必要問你爲什麼要把所有的href變成絕對的urls而不是親戚?也許這是一個['XY問題'](http://www.perlmonks.org/?node_id=542341) – Miller

回答

2

不要include()日曆;它將它讀入一個字符串中。 (或使用file_get_contents()哪一個打開,讀取和關閉一步。)

一旦你有一個字符串,你可以操縱它,但是你喜歡,然後print()它。

+0

你可以給我一個代碼示例。我喜歡這種方法 – LisaH

+0

也就是說,我得到了file_get_contents()部分......我可以做到這一點,但我會如何要求更改網址? – LisaH

+0

像你說的在你的問題中使用'preg_replace'或'str_replace'。這是一個字符串,所以你可以應用任意的字符串操作。 – tobyink