Legacy mobile content generator for retro mobile devices and browsers
PHP scripts to convert RSS feeds into mobile-friendly formats:
- WML (Wireless Markup Language) for WAP 1.x devices
- HDML (Handheld Device Markup Language) for pre-WAP browsers
Modernized version of original 2003 codebase (RSSmanip) with:
- Security hardening
- PHP 7.4+ compatibility
- Enhanced error handling
- Multi-encoding support
-
Feed Processing
- RSS 2.0 full spec support
- Auto-encoding detection (UTF-8/ISO-8859-1)
- Content length optimization
- HTTP compression handling
-
Security
- XML injection protection
- SSL verification
- Input sanitization
- Error suppression
-
Mobile Optimization
- WML 1.1 compliant output
- HDML 3.0 support
- Device memory constraints awareness
- Accesskey navigation
Component | Requirement |
---|---|
PHP Version | 7.4 or newer |
Extensions | cURL, libxml, SimpleXML |
Memory Limit | ≥128MB |
MIME Types | text/vnd.wap.wml text/x-hdml |
graph LR
A[Local Dev] --> B[WinWAP Emulator]
A --> C[Nokia Mobile Simulator]
A --> D[Openwave SDK]
E[Production] --> F[Real Device Testing]
Clone repository:
git clone https://github.com/yourusername/php-rss2wml_rss2hdml.git
cd php-rss2wml_rss2hdml
Configure feed settings:
// config.php
$url = 'https://example.com/feed.rss'; // RSS source
$max_elements = 12; // Optimal for 4KB limit
$encoding = 'ISO-8859-1'; // Match feed encoding
Configure web server (Apache example):
<IfModule mod_mime.c>
AddType text/vnd.wap.wml .wml
AddType text/x-hdml .hdml
</IfModule>
DirectoryIndex index.php
Issue | Impact Solution | |
---|---|---|
30x Redirects | Broken links | Use direct file paths |
Memory Limits | Truncated content | Keep output <4KB |
Encoding Mismatch | Garbled text | Test multiple encodings |
Caching Issues | Stale content | Add Cache-Control: no-store |
flowchart TD
A[Start] --> B{Feed Size}
B -->|>4KB| C[Reduce max_elements]
B -->|OK| D[Check Encoding]
D --> E[Validate RSS Structure]
E --> F[Test Multiple Devices]