2013-02-28 26 views
13

Napisaliśmy mały hook PHP dla naszego systemu rozliczeniowego, który otwiera nowy bilet wsparcia z nami, gdy zamówienie zostanie złożone. Działa z tą różnicą, że dla funkcji API "Open Ticket" przyjmuje ciąg znaków do wiadomości, ale nie wiemy, w jaki sposób umieścić w niej znaki powrotu karetki.Utwórz powrót karetki w ciągu PHP?

Próbowałem

<p>, <br>, \n, \r\n, etc. 

Jak wynika po prostu być całkowicie czysty tekst choć wszystkie z nich są po prostu odczytywane verbatim zamiast przekształcony powrotu karetki.

Czy ktoś ma jakiekolwiek przemyślenia na temat tego, jak można to zrobić? http://docs.whmcs.com/API:Open_Ticket

+2

Powrót karetki ('CR') to' '\ r" 'only. Myślę, że masz na myśli hamulce liniowe. –

+0

Zastrzeżenie zwrotu karetki 'CR' i New Line' NL' różnią się od "podziałów wiersza HTML". – Mahdi

+0

Nie jestem zaznajomiony z whmcs, ale jakiego rodzaju cudzysłowów używasz? Pojedynczy lub podwójny? W standardowym PHP pojedynczy cytowany ciąg taki jak '\ n'' wyrenderuje' \ n' dosłownie. Podwójnie cytowany ciąg '" \ n "' sparsuje '\ n' jako znak nowego wiersza. –

Odpowiedz

34

Zwrot karetki to "\r". Uważaj na podwójne cytaty!

Myślę, że chcesz "\r\n" btw, aby wstawić podział wiersza w tekście, aby był poprawnie renderowany w różnych systemach operacyjnych.

  • Mac: \ r
  • Linux/Unix: \ n
  • Windows: \ r \ n
+0

To było to, dziękuję bardzo. Taki głupi prosty problem :) –

+0

Miałem problem z tworzeniem e-maili HTML z php. Okazało się, że jest to problem w używaniu cudzysłowów (nagłówki wiadomości e-mail muszą być zdefiniowane przy użyciu "zamiast"). Ta odpowiedź naprawiła je: D dzięki . –

+0

Pamiętaj, że tylko Mac OS 9 (nieobsługiwany od 2002 roku) i wcześniejszy używają \ r. Mac OS X jest wariantem systemu UNIX i podobnie używa \ n (0x0A) jako znak nowej linii systemu (tak jak w innych systemach, istnieją jeszcze specjalne przypadki, kiedy jest używany, na przykład resetowanie pozycji karata do początku linii podczas wysyłania do terminala). – Synexis

3
$postfields["message"] = "This is a sample ticket opened by the API\rwith a carriage return"; 
0

fragment PHP (konsoli Cloud9):

echo "\n"; 
echo "1: first_srt=1\nsecnd_srt=2\n"; 
echo "\n"; 
echo '2: first_srt=1\nsecnd_srt=2\n'; 
echo "\n"; 
echo "==============\n"; 
echo "\n"; 

Wynikiem:

1: first_srt=1 
    secnd_srt=2 

    2: first_srt=1\nsecnd_srt=2\n 
    ============== 

Różnica między 1 i 2: " porównaniu '